object?.let{ } 返回值为 最后一行 or return语句
object?.also{ } 返回值为 自身
类似let函数,但区别在于返回值:
let函数:返回值 = 最后一行 / return的表达式
also函数:返回值 = 传入的对象的本身
with(object){
…
}
作用:调用同一个对象的多个方法 / 属性时,可以省去对象名重复,直接调用方法名 / 属性即可
object?run(){ …}
结合了let、with两个函数的作用,即:
调用同一个对象的多个方法 / 属性时,可以省去对象名重复,直接调用方法名 / 属性即可
且有返回值 :函数块的最后一行 / return表达式
object?.apply{ …}
与run函数类似,但区别在于返回值:
run函数返回最后一行的值 / 表达式
apply函数返回传入的对象的本身