Kotlin 拓展函数

XiLaiTL小于 1 分钟

Kotlin 拓展函数

fun <R> run(block: () -> R): R = block()
fun <T, R> T.run(block: T.() -> R): R = block()
fun <T, R> with(receiver: T, block: T.() -> R): R = receiver.block()
fun <T> T.apply(block: T.() -> Unit): T {block(); return this}
fun <T> T.also(block: (T) -> Unit): T {block(this); return this}
fun <T, R> T.let(block: (T) -> R): R = block(this)
传入返回作用
runlambda作为成员方法lambda结果直接引用对象成员,得到另外结果
applylambda作为成员方法对象本身直接引用对象成员,修改对象
also接收对象的lambda对象本身用it引用对象,做额外处理
let接收对象的lambdalambda结果用it引用对象,得到另外结果

用.also{println(it)}可以很方便地在行内插入输出信息

上次编辑于:
贡献者: XiLaiTL