Dart中点之前的问号

时间:2019-06-25 09:35:22

标签: syntax dart bloc

这段代码中问号是什么意思?我应该何时使用它?无论带或不带问号,我的代码都以相同的方式起作用。

void dispose(){
  bloc?.dispose();
  super.dispose();
}

1 个答案:

答案 0 :(得分:1)

问号是Dart中可识别空值的运算符之一。在此示例中,它说:如果dispose()不为null,则调用bloc方法 。如果没有问号,则当bloc尝试调用dispose()时如果为空,则会抛出NoSuchMethodError

Dart网站上有一个有用的部分,介绍了可识别空值的运算符:

https://dart.dev/codelabs/dart-cheatsheet