, 觉得用法这么像, 为什么弄出多个名字, 不过仔细看看嘛, 还是略有不同的, 待我慢慢道来....kotlin中, run, let, with, apply, also, 都是标准库的函数, 它的实现可以直接在IDE上跳转看到, 也可以在这里看: Standard.kt
看这些函数的实现, 会发现它们非常短...., 它是kotlin的extension的一个用法:
确切说, 这个run是一个generic extension函数, 对于任何类型T, 扩展了run这个方法, 参数类型是签名”T.() -> R”...关于kotlin extension的更详细介绍, 可以查看官网文档
this上下文差异是这两个run用法最大的不同
let函数
- public inline fun T.let(block: (T...return this }
剩下apply和also两个函数, 他们和run, let的实现又非常相似
apply和T.run的block参数的上下文一致
also和T.let的block参数的上下文一致