Kotlin支持函数作为参数传递,无需构建对象来包装函数。

1、调用一个无返回的函数作为参数传递为:方法名()-> Unit
class MainActivity : AppCompatActivity() { private val TAG:String =
"MainActivity.kt" override fun onCreate(savedInstanceState: Bundle?) { super
.onCreate(savedInstanceState) setContentView(R.layout.activity_main) getResults
{ logDebug("Hello World") } //在kotlin中如果传入的参数是函数,可以省略括号 } fun
logDebug(msg:String) { Log.d(TAG,msg) }/** * 在 Kotlin 中无返回为 Unit * *
此方法接收一个无参数的函数并且无返回 */ private fun getResults(method: () -> Unit) { method() } }


2、调用一个有返回参数的函数作为参数传递为:方法名()-> 返回类型
/** * @param str1 参数1 * @param str2 参数2 */ fun getResult(str1: String, str2:
String): String ="result is {$str1 , $str2}" /** * 此方法接收一个返回String类型的方法 */
private fun logDebug(method: () -> String) { Log.d(TAG,method()) }
本篇文章就到这里了,有不足的还望指导,感谢各位^_^

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信