| 返回 计算结果 | 返回 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")
}
二、with(T) { this } : result
传 this (可省略)返回计算结果
val result = with(msg) {
append(11)
append("aaaaa")
this.append("1111111")
2 * 3
}
三、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")
}