Kotlinの**ラムダ式(lambda expression)**は、**名前のない関数(無名関数)**の一種で、関数型プログラミングを簡潔に書くための構文です。関数を変数として扱ったり、関数に引数として渡したりするために使われます。
基本構文
例1:単純な加算ラムダ
ラムダ式の特徴
1. 型推論が可能
Kotlinでは、文脈から型を推論できる場合、型の明示は省略できます。
また、関数の引数として渡すときは、型を省略できることが多いです。
2. 最後の引数がラムダ式の場合、外に出せる(ラムダ式の外出し)
3. itによる省略記法
itによる省略記法引数が1つだけの場合、名前を省略して it でアクセスできます。
4. 高階関数との連携
ラムダ式は**高階関数(関数を引数または戻り値に取る関数)**でよく使用されます。
例:list.filter の使用
list.filter の使用
5. ラムダと匿名関数の違い
ラムダ式と匿名関数(funを使った無名関数)は似ていますが、以下のような違いがあります。
| 比較点 | ラムダ式 | 匿名関数 |
|---|---|---|
| 構文 | { 引数 -> 処理 } |
fun(引数): 戻り値型 { 処理 } |
returnの動作 |
外側の関数からも脱出できる(非ローカル) | 自分自身のスコープでのみreturn(ローカル) |
まとめ
| 特徴 | 説明 |
|---|---|
| 簡潔さ | 名前のない関数を短く記述可能 |
| 柔軟性 | 関数の引数や戻り値として自由に使える |
| 組み込み関数との親和性 | map, filter, forEach などと組み合わせると強力 |
| 高階関数との相性 | 引数としてラムダを渡して処理をカスタマイズ可能 |
生成日:2025/05/04