[Kotlin]ざっくり分かる「let関数」

Kotlin

どうも、ちょげ(@chogetarou)です。

Kotlinには、let関数というものがあります。

let関数はぱっと見ではわかりませんし、itという変数も出てくる謎な関数です。

このlet関数について解説します。

スポンサーリンク

let関数

技術, コンピュータ, コード, Java スクリプトの設定, 開発者, プログラミング, プログラマ

let関数は、「オブジェクト?.let{ ~ }」と記述する「?.」とラムダ式を組み合わせた関数です。

「?.」は、オブジェクトがnilだったらその後のメソッドもnilになるというもの。

ラムダ式は、その場で書ける関数とでも思ってくれたらいいです。

つまり、「オブジェクトがnilじゃなかったら、ラムダ式の値が得られますよ」というのが、let関数です。

細かく分けて考えると、「オブジェクト?. メソッド」のメソッド名をletに変えただけなのです。
(もちろんletがラムダ式でメソッドとはまた違いますが)

it

let関数は「オブジェクト ?. let {}」と記述します。

letはラムダ式で、{}内に処理を記述しなければいけません。

この時、オブジェクトのメンバやメソッドを呼ぶ時に、「オブジェクト名.メソッド」のオブジェクト名を簡単にしたのがitです。

わかりやすくいうと、オブジェクト名を書くのがめんどくさいので、itと書けるようにしたのです。

var name : String? = "abc"
var len = name?.let {
               it.length
        }

上記の例では、nameをlet関数内ではitとして扱っています。

まとめ

let関数は、「オブジェクト ?. let {}」という書き方で、「?.」と「ラムダ式」を組み合わせた関数です。

「オブジェクト?.メソッド名」のメソッド名をletに置き換えただけとも言えます。

また、let関数内では、オブジェクトを簡潔にitと記述します。

参考

コメント

タイトルとURLをコピーしました