- ラムダ式、つまり関数型リテラルの完全な構文形式
val sum = { x: Int, y: Int -> x + y }
- 発展
val sum: (Int, Int) -> Int = { x, y -> x + y }
- 高階関数
Kotlinでは、関数の最後のパラメータが関数である場合、そのパラメータは括弧の外に指定することができるという慣習があります
//定義
fun <T, R> List<T>.map(transform: (T) -> R): List<R> {
val result = arrayListOf<R>()
for (item in this)
result.add(transform(item))
return result
}
//呼び出し
val doubled = ints.map { it -> it * 2 }
関数内のラムダ式で return すると通常は関数から戻りますが、@ でラベル指定することで、ラムダ式を return することが可能。returnするときに返り値が必要な関数もある。