kotlin-内置函数let、also、with、run、app
2022-07-19 本文已影响0人
itBox
使用带let的安全调用
var name: String? = null
name = "Jack"
val res = name?.let {
// it = name
if(it.isBlank()){
"Default"
}else{
it
}
}
println(res)
若name是可空类型,且真为 null 时,? 后的代码块不会执行,不会引发空指针异常。
若确定name是有值的,就可使用断言 !!,
!! 断言:不管 name 是不是 null,都执行。
空合并操作,?:
var name: String? = "test"
name = null
println(name ?: "原来你是null")
also函数
类似let函数,但区别在于返回值:
let函数:返回值 = 最后一行 / return的表达式
also函数:返回值 = 传入的对象的本身