Kotlin Lambda 详解
2022-06-15 本文已影响0人
Kael_Zhang的安卓笔记
语法结构
{参数名1:参数类型,参数名2:参数类型->函数体}
简化
- 当lambda表达式作为函数调用的最后一个实参,可以将它放在括号外边
strList.maxBy() { str: String ->
str // todo somethings
}
- 如果Lambda参数是函数的唯一一个参数的话,还可以将函数的括号省略
strList.maxBy { str: String ->
str // todo somethings
}
- 因为kotlin拥有出色的类型推导机制,所以Lambda表达式中的参数列表其实在大多数情况下不必声明参数类型
strList.maxBy() { str ->
str // todo somethings
}
- 当Lambda表达式的参数列表中只有一个参数时,也不必声明参数名(如果想要表示的清楚一些,也可以声明参数名),而是可以使用it关键字来代替
strList.maxBy() { str: String ->
it // todo somethings
}