首页 > 解决方案 > 如何在 kotlin 中将函数作为参数传递 - Android

问题描述

如何使用 Kotlin 在 android 中传递函数。如果我知道以下功能,我可以通过:

fun a(b :() -> Unit){
}
fun b(){
}

我想传递任何函数,比如 ->
fun passAnyFunc(fun : (?) ->Unit){}

标签: androidfunctionparameterskotlin

解决方案


您可以使用匿名函数或 lambda,如下所示

fun main(args: Array<String>) {

    fun something(exec: Boolean, func: () -> Unit) {
        if(exec) {
            func()
        }
    }

    //Anonymous function
    something(true, fun() {
        println("bleh")
    })

    //Lambda
    something(true) {
        println("bleh")
    }

}

推荐阅读