在Kotlin中传递和使用函数作为构造函数参数

n。箭001

如何创建一个将函数作为构造函数参数的类。然后,在该类的稍后位置使用此函数。

zsmb13

您可以拥有具有函数类型的属性,就像拥有任何其他类型一样:

class A(val f: () -> Unit) {

    fun foo() {
        f()
    }

}

从这里,您可以将该函数作为方法引用传递给构造函数:

fun bar() {
    println("this is bar")
}

val a = A(::bar)
a.foo()             // this is bar

或作为lambda:

val a = A({ println("this is the lambda") })

您甚至可以为lambda做通常的语法糖,这些语法是函数的最后一个参数(尽管有点疯狂):

val a = A { println("this is the lambda") }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章