lambda表达式始终用{}包围,将一小段代码封装成匿名函数,以参数值的方式传递到函数中,并用 -> 将参数列表和函数主体分离。
// 表达式: 函数入口参数->返回值
val sum = { number1:Int,number2:Int -> number1 + number2 }
当lambda表达式作为函数调用的最后一个实参,可以将它放在括号外边:
persons.max( { person: Person -> person.age } )
persons.max() { person: Person -> person.age }
当lambda是函数唯一的实参时,还可以将函数的空括号去掉:
persons.max { person: Person -> person.age }
当lambda表达式中只有一个参数,没有显示指定参数名称,并且这个参数的类型能推导出来时,会生成默认参数名称it:
persons.max { it.age }