首页 文章

Kotlin中功能变量的空安全运算符

提问于
浏览
3

在我的Kotlin应用程序中,我有像这样的可空变量

private var myCallback : (() -> Unit)? = null

是否可以使用null安全运算符 ? 来调用它?这给了我一个编译错误 .

myCallback?()

如果它不是空的话,我发现只有这种丑陋的方式

if(myCallback != null)
     myCallback!!()

1 回答

  • 7

    您可以按如下方式调用它:

    myCallback?.invoke()
    

    关于函数类型变量的 () 语法只是 invoke() 运算符的语法糖,如果展开它,可以使用常规安全调用语法调用它 .

相关问题