Kotlin:标准函数API

我不是罗大锤 2021年11月23日 184次浏览

任何Kotlin代码都可以自由调用所有标准函数。

一、with函数

val result = with(obj) {
    // 这里是obj的上下文
    "value"	// 最后一行是函数返回值
}

二、run函数

run与with相似,但run不能直接调用,必须调用某个对象的run函数。

val result = obj.run {
    // obj的上下文
    "value"	// 返回值
}

三、apply函数

apply与run类似,必须在对象上调用,apply无法设置返回值,但会返回调用对象本身。

val result = obj.apply {	// result == obj
    // obj上下文
}

四、use函数

它会保证Lambda中的代码全部执行完成后自动将外部流程关闭。

val writer = BufferedWrite(...) 
writer.use {
    ...
}	//自动关闭外部流

五、forEachLine函数

将每行内容回调到Lambda中。

val reader = BufferedReader(...)
reader.forEachLine {
    println(it)	// it是回调的每一行内容
}