在我的Kotlin应用程序中,我有这样的可为空的变量
private var myCallback : (() -> Unit)? = null
是否可以使用空安全操作符
?
调用它?这给了我一个编译错误。myCallback?()
如果不为空,我只会以这种丑陋的方式打电话
if(myCallback != null)
myCallback!!()
最佳答案
您可以这样称呼它:
myCallback?.invoke()
函数类型变量上的
()
语法只是invoke()
运算符的语法糖,如果将其扩展,则可以使用常规的安全调用语法来调用它。