一,代码:
//处理按钮点击事件
binding.button1.setOnClickListener {
//Kotlin用直接使用 “=”来返回一个函数的值,这样的函数成为函数字面量
fun sum1(a: Int, b: Int) = a + b
val res = sum1(3,8)
println("res1:"+res)
//也可以声明一个匿名函数,
//sum2类型: (Int, Int) -> Int,返回值是int
val sum2 = fun(a: Int, b: Int) = a + b
val res2 = sum2(3,8)
println("res2:"+res2)
// 注意,如果增加了{},表示返回值是一段代码
// sum3的类型是: (Int, Int) -> () -> Int,它的返回值是一个函数类型: () -> Int
val sum3 = fun(a: Int, b: Int) = { a + b }
// res3的类型是: () -> Int, 它是一个函数,调用后返回int
val res3 = sum3(3,8)
println("res3:"+res3)
//如果要调用,得使用invoke方法, 或者 (),它和invoke等价
val res4 = sum3(3,8).invoke()
println("res4:"+res4)
val res5 = sum3(3,8)()
println("res5:"+res5)
val res6 = res3.invoke()
println("res6:"+res6)
val res7 = res3()
println("res7:"+res7)
}
二,运行结果:
![image]()