8.2.11 Lambda 表达式
我们也可以直接使用更简单的Lambda表达式来实现一个predicate函数:
list.filter {
it % 2 == 1
}
- lambda 表达式总是被大括号
{}
括着 - 其参数(如果有的话)在
->
之前声明(参数类型可以省略) - 函数体(如果存在的话)在
->
后面
上面的写法跟:
list.filter({
it % 2 == 1
})
等价,如果 lambda 是该调用的唯一参数,则调用中的圆括号可以省略。
使用Lambda表达式定义一个函数字面值:
>>> val sum = { x: Int, y: Int -> x + y }
>>> sum(1,1)
2
我们在使用嵌套的Lambda表达式来定义一个柯里化的sum函数:
>>> val sum = {x:Int -> {y:Int -> x+y }}
>>> sum
(kotlin.Int) -> (kotlin.Int) -> kotlin.Int
>>> sum(1)(1)
2
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .