let常常和?.配合使用,如果前面的对象为null,let不执行,能够执行到let里面 对象一定不为null
1.不为null
fun main() {var name:String?="kotlin" //name是一个可空类型,发出广播,调用的地方必须补救措施var r = name?.let{//it==name,如果能执行到这个里面it一定不为nullif(it.isBlank()){ //如果it=""打印"default" }else{"$it"}}println(r)
}
执行结果
2.为“ ”
var name:String?=" " //name是一个可空类型,发出广播,调用的地方必须补救措施var r = name?.let{//it==name,如果能执行到这个里面it一定不为nullif(it.isBlank()){ //如果it=""打印"default" }else{"$it"}}println(r)
}
执行结果
3.为null
fun main() {var name:String?=null //name是一个可空类型,发出广播,调用的地方必须补救措施var r = name?.let{//it==name,如果能执行到这个里面it一定不为nullif(it.isBlank()){ //如果it=""打印"default" }else{"$it"}}println(r)
}
执行结果