导语: kotlin 标准库中, run, let, with, apply, also 实现解读
在看kotlin代码时, 可能会看到let, run这样的函数调用, 最早接触的时候, 我也弄不清楚其中差异...kotlin中, run, let, with, apply, also, 都是标准库的函数, 它的实现可以直接在IDE上跳转看到, 也可以在这里看: Standard.kt
看这些函数的实现, 会发现它们非常短...., 它是kotlin的extension的一个用法:
确切说, 这个run是一个generic extension函数, 对于任何类型T, 扩展了run这个方法, 参数类型是签名”T.() -> R”...T的实例, 在extension函数定义时候, “this”就对应扩展类型实例...., 应该就对run, let, with, apply, also的差异完全明了
思考
在上边的实例代码中, T.run, T.apply, with(T)对应的block中, 怎么拿到TestDemo