如您之前在《有效 Dart :用法》中所见

(https://dart.dev/guides/language/effective-dart/usage)
你看 :

optionalThing?.isEnabled ?? false;

我知道val??otherval == null ? other : val的替代方法

但我不明白?.是什么

最佳答案

?.运算符是null-aware运算符的一部分。在以下上下文中使用:

if(object != null)
{
    object.method1();
}

上面可以写成object?.method1();
因此,代码bool isEnabled = optionalThing?.isEnabled ?? false;将转换为以下代码:
bool isEnabled;
if(optionalThing != null)
   isEnabled = optionalThing.isEnabled;
else
   isEnabled = false;

关于flutter - 什么是dart(?)表示法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59589063/

10-15 11:15