使用 let 或者也可以简化使用可空对象的操作
Kotlin 中的 let
从它被调用的对象创建一个本地绑定。例:
val str = "foo"
str.let {
println(it) // it
}
这将打印 foo
并将返回 Unit
。
let
和 also
之间的区别在于你可以从 let
块中返回任何值。另一方面,also
将永远重新燃起。
你问为什么这个有用呢?因为如果你调用一个可以返回 null
的方法并且你只想在返回值不是 null
时运行一些代码,你可以像这样使用 let
或 also
:
val str: String? = someFun()
str?.let {
println(it)
}
当 str
不是 null
时,这段代码只会运行 let
块。注意 null
安全运算符(?
)。