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 })