如何创建一个将函数作为构造函数参数的类。然后,在该类的稍后位置使用此函数。
您可以拥有具有函数类型的属性,就像拥有任何其他类型一样:
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] 删除。
我来说两句