kotlin 中 run、with、apply、let、also
返回 计算结果返回 this传 thisT.run {}with(T) {}T.apply {}传 itT.let {}T.also {}import java.lang.StringBuilderval msg: StringBuilder = StringBuilder()一、T.run { this } : result传 this (可省略)返回计算结果val result = msg.r
·
| 返回 计算结果 | 返回 this | |
|---|---|---|
| 传 this | T.run {} with(T) {} | T.apply {} |
| 传 it | T.let {} | T.also {} |
import java.lang.StringBuilder
val msg: StringBuilder = StringBuilder()
一、T.run { this } : result
传 this (可省略)返回计算结果
val result = msg.run {
append(111)
append("23445") // 最后一行省略 return,直接返回
}
二、with(T) { this } : result
传 this (可省略)返回计算结果
val result = with(msg) {
append(11)
append("aaaaa")
this.append("1111111") // this 可以省略
2 * 3 // result 的返回值
}
三、T.apply { this } : this
传 this 返回 this
val result = msg.apply {
append(111)
append("23445")
}
四、T.let { it } : result
传 it 返回 计算结果
val result = msg.let {
it.append(111)
it.append("1111111")
}
五、T.also { it } : this
传 it 返回 this
val result = msg.also {
it.append("1111")
it.append("1111")
it.append("1111")
it.append("1111")
}
更多推荐




所有评论(0)