dart - dart/flutter 中的这个一元后缀是什么?

标签 dart flutter postfix-notation unary-operator

我在 Dart/flutter 代码中看到了这个一元后缀:?.

像这样:

videoController?.dispose();

我想知道它是如何工作的...

最佳答案

这是 Dart 中的一个很棒的特性

意思是当且仅当该对象不为空时,否则返回空

简单的例子:

void main() {
  Person p1 = new Person("Joe");
  print(p1?.getName); // Joe

  Person p2;
  print(p2?.getName); // null

  //print(p2.getName); // this will give you an error because you cannot invoke a method or getter from a null
}

class Person {
  Person(this.name);
  String name;

  String get getName => name;
}

还有其他很酷的 null 感知运算符,如 ??Read my QnA了解有关 null 感知运算符的更多信息。

关于dart - dart/flutter 中的这个一元后缀是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51157680/

相关文章:

flutter - 从第二个屏幕导航返回时关闭AlertDialog并刷新页面 float

flutter - flutter 的蓝色json值被切断

api - 通过Flutter http.dart包链接到Fidel API

java - 将中缀转换为后缀表示法的程序

parsing - 我无法创建支持中缀、后缀和前缀函数等的语言有什么原因吗?

JAVA 评估后缀表达式——无法抛出空或无效表达式

flutter - 如何从另一个小部件更改有状态小部件中变量的值

flutter - 如何添加应用程序页脚(使用 bottomNavigationBar)

android - 使用 Flutter 加载 AssetImages

android - 当应用在Android和iOS上显示为屏幕外时执行代码