1、 let用于空判断
var user:User?=null
user?.let{
//这里user不为null,才执行
//使用用it替代user
}
返回值为函数块的最后一行或指定return表达式
2、also
和let类似,不同的是返回值不同,also返回传入的对象自己
3、with
适用于调用同一个类的多个方法时,可以省去类名重复,直接调用类的方法
with(user){
println("name is $name,age is $age")
}
返回值为函数块的最后一行或指定return表达式
4、run
可以说是let和with两个函数的结合体
返回值为函数块的最后一行或指定return表达式
5、apply
和run类似,只是返回值不同,apply返回传入的对象自己
适用于 动态inflate出一个XML的View的时候需要给View绑定数据