// 带参数不带返回值
private fun setListener(l: (c: Context) -> Unit) {
//方法一
l(context)
//方法2 invoke()方法是kotlin对象类中默认持有的方法
l.invoke(context)
}
// 带参数带返回值
private fun setOnListener(l: (c: Context) -> Boolean) {
//方法一
// val value= l(context)
//方法2 invoke()方法是kotlin对象类中默认持有的方法
val value = l.invoke(context)
if (value) {
Log.d("TAG", "setOnListener: 我是正确的")
} else {
Log.d("TAG", "setOnListener:我是错误的 ")
}
}
// 使用,只有一个参数时,可以用it代替传入的参数
fun setOnClickListener() {
setListener { Toast.makeText(it, "test param", Toast.LENGTH_SHORT).show() }
//带返回值
setOnListener {
Toast.makeText(it, "test param带返回值", Toast.LENGTH_SHORT).show()
"3" is String
}
}
kotlin语法之将函数作为参数
最新推荐文章于 2024-07-13 10:14:35 发布