【发布时间】:2018-08-16 04:06:22
【问题描述】:
在我的 Kotlin 应用程序中,我有这样的可为空变量
private var myCallback : (() -> Unit)? = null
是否可以使用空安全运算符? 来调用它?这给了我一个编译错误。
myCallback?()
如果不为空,我发现只有这种丑陋的调用方式
if(myCallback != null)
myCallback!!()
【问题讨论】:
在我的 Kotlin 应用程序中,我有这样的可为空变量
private var myCallback : (() -> Unit)? = null
是否可以使用空安全运算符? 来调用它?这给了我一个编译错误。
myCallback?()
如果不为空,我发现只有这种丑陋的调用方式
if(myCallback != null)
myCallback!!()
【问题讨论】:
你可以这样称呼它:
myCallback?.invoke()
函数类型变量的() 语法只是invoke() 运算符的语法糖,如果你扩展它,可以使用常规的安全调用语法来调用它。
【讨论】: