Function 是否有任何方法可以直接调用作为可选参数传递的函数,同时防止在颤振/飞镖中出现空值错误?

Function 是否有任何方法可以直接调用作为可选参数传递的函数,同时防止在颤振/飞镖中出现空值错误?,function,flutter,optional,Function,Flutter,Optional,由此我了解到,在调用作为可选参数传递的函数之前,我可以检查空值: myFunction ({ Function onFocusChange }) { if(onFocusChange != null) { onFocusChange(boolValue) } } 我也知道有一个可选性的概念,比如在颤振中的Swift和Kotlin,使用“?”操作符,尽管他们都有自己的怪癖 我要问的是,是否有任何方法可以调用可选函数,如果它为null,则会自动失败,如在Swift

由此我了解到,在调用作为可选参数传递的函数之前,我可以检查空值:

myFunction ({ Function onFocusChange }) {

    if(onFocusChange != null) {
       onFocusChange(boolValue)
    }

}
我也知道有一个可选性的概念,比如在颤振中的Swift和Kotlin,使用“?”操作符,尽管他们都有自己的怪癖

我要问的是,是否有任何方法可以调用可选函数,如果它为null,则会自动失败,如在Swift中:

onFocusChange?(boolValue);

我试图在flatter上添加问号,它立即尝试将“onFocusChange”计算为布尔值(三元运算符)。

你的意思是如果这个.onFocusChange(boolValue);返回null do someother function??否,我的意思是,如果onFocusChange来自可选参数,如何在不检查onFocusChange函数是否为null的情况下安全地调用此函数?@AtishShakya我已修复了该示例,以尽量减少混淆。请尝试
onFocusChange??(布尔值)