■ let の便利な使い方 (公式)
public inline fun <T, R> T.let(block: (T) -> R): R {
contract {...}
return block(this)
}
The Kotlin standard library function let can be used for scoping and null-checks. When called on an object, let executes the given block of code and returns the result of its last expression. The object is accessible inside the block by the reference it (by default) or a custom name.
Kotlinの標準ライブラリ関数 let は、スコープや NULL チェックに使用することができます。オブジェクト上で呼び出されると、let は与えられたコードブロックを実行
し、その最後の式の結果を返します。オブジェクトはブロック内で参照 it (デフォルト) またはカスタム名でアクセスできます。
Executing a lambda on non-null objects
NULLでないオブジェクトに対してラムダを実行する
Introducing an expression as a variable in local scope
ローカルスコープでの変数としての式の導入
Execute if not null
nullでない場合は実行
val value = ...
value?.let {
... // execute this block if not null
}
Map nullable value if not null
nullでない場合、nullableな値をマップする
val value = ...
val mapped = value?.let { transformValue(it) } ?: defaultValue
// defaultValue is returned if the value or the transform result is null.
👉 Kotlin Examples: Learn Kotlin Programming By Example
👉 Scope functions | Kotlin
👉 Idioms | Kotlin
■ まとめ
公式では、「let」は「null を避けてのブロック内処理」に使うことを推しています。
let 自体が不要な場合は、AndroidStudio や IDE が知らせてくれます。
👉 Kotlin スコープ関数 の上手な使い分け その1 - apply
👉 Kotlin スコープ関数 の上手な使い分け その2 - also
👉 Kotlin スコープ関数 の上手な使い分け その3 - with
👉 Kotlin スコープ関数 の上手な使い分け その4 - let
👉 Kotlin スコープ関数 の上手な使い分け その5 - run