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