kotlin: 匿名函数/lambda表达式为函数类型变量赋值
一,功能:
匿名函数 可以作为 变量 赋值给 函数类型变量 ,
可以作为 函数参数 传递给函数 ,
因此 , 匿名函数 与 变量 一样 , 也存在 对应的 函数类型 ;
函数类型 由 参数 和 返回值 决定 ;
有 相同 参数顺序 , 参数个数 和 返回值类型 的函数 , 其 函数类型相同 ;
二,例子:匿名函数
代码:
//处理按钮点击事件
binding.button2.setOnClickListener {
// 声明 函数类型 变量
val helloFun: (String)->String
// 为 函数类型变量 赋值一个 匿名函数
helloFun = fun(it:String):String {
return "Hello ${it}"
}
// 执行 函数类型 变量对应的 函数
val str = helloFun("尼古拉斯赵四")
println(str)
}
运行结果:
![]()
三,例子:lambda表达式
代码:
//处理按钮点击事件
binding.button3.setOnClickListener {
// 声明 函数类型 变量
val helloFun: (name:String,age:Int)->String
// 为 函数类型变量 赋值一个 lambda表达式
helloFun = {name,age->
"Hello ${name},今年${age}岁了"
}
// 执行 函数类型 变量对应的 函数
val str = helloFun("尼古拉斯赵四",33)
println(str)
}
运行结果:
![]()
浙公网安备 33010602011771号