kotlin lambda表达式
原创
©著作权归作者所有:来自51CTO博客作者富坚老贼的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、普通表达式
格式
() -> Unit//表示无参数无返回值的Lambda表达式类型
(T) -> Unit//表示接收一个T类型参数,无返回值的Lambda表达式类型
(T) -> R//表示接收一个T类型参数,返回一个R类型值的Lambda表达式类型
(T, P) -> R//表示接收一个T类型和P类型的参数,返回一个R类型值的Lambda表达式类型
(T, (P,Q) -> S) -> R//表示接收一个T类型参数和一个接收P、Q类型两个参数并返回一个S类型的值的Lambda表达式类型参数,返回一个R类型值的Lambda表达式类型
例子
fun main() {
print(test1(3, 2))
//和上面相同
print(test1.invoke(3, 2))
print(test3(3, 2))
}
//lambda表达式
val test1 = { a: Int, b: Int -> a + b }
//普通函数
fun test2(a: Int, b: Int):Int{
return a+b
}
//函数简写
fun test3(a: Int, b: Int)=a+b
二、带接收者的lambda