Lambda 函式

Lambda 函式是匿名函式,通常在函式呼叫期間建立以充當函式引數。它們由帶有{braces}的周圍表示式宣告 - 如果需要引數,則將它們放在箭頭 -> 之前。

{ name: String ->
    "Your name is $name" //This is returned
}

lambda 函式中的最後一個語句自動返回值

如果將 lambda 放在編譯器可以推斷型別的位置,則型別是可選的。

多個引數:

{ argumentOne:String, argumentTwo:String ->
    "$argumentOne - $argumentTwo"
}

如果 lambda 函式只需要一個引數,那麼可以省略引數列表,而使用 it 來引用單個引數。

{ "Your name is $it" }

如果函式的唯一引數是 lambda 函式,則可以從函式呼叫中完全省略括號。

# These are identical
listOf(1, 2, 3, 4).map { it + 2 }
listOf(1, 2, 3, 4).map({ it + 2 })