使用 let 或者也可以簡化使用可空物件的操作

Kotlin 中的 let 從它被呼叫的物件建立一個本地繫結。例:

val str = "foo"
str.let {
    println(it) // it
}  

這將列印 foo 並將返回 Unit

letalso 之間的區別在於你可以從 let 塊中返回任何值。另一方面,also 將永遠重新燃起。

你問為什麼這個有用呢?因為如果你呼叫一個可以返回 null 的方法並且你只想在返回值不是 null 時執行一些程式碼,你可以像這樣使用 letalso

val str: String? = someFun()
str?.let {
    println(it)
}

str 不是 null 時,這段程式碼只會執行 let 塊。注意 null 安全運算子(?)。