假设有如下kotlin语句:

val list = listOf("1", "2", "3")
val lamda = {fruit:String -> fruit.length}
val maxLengthFruit = list.maxby(lamda)
  1. 无需声明一个特殊的Lamda变量,可以将Lamda表达式直接传入函数中。
    val maxLengthFruit = list.maxby({ fruit:String -> fruit.length })
  2. 当Lamda参数是函数的最后一个参数时,可以将Lamda表达式移到函数括号的外面。
    val maxLengthFruit = list.maxby(){ fruit:String -> fruit.length }
  3. 如果Lamda参数是函数的唯一一个参数,可以将括号省略。
    val maxLengthFruit = list.maxby{ fruit:String -> fruit.length }
  4. 当Lamda表达式的参数列表只有一个参数时,可以不必声明参数名,改为it替代。
    val maxLengthFruit = list.maxby{ it.length }