【问题标题】:"?." notation in Dart or other Language“?。” Dart 或其他语言的符号
【发布时间】:2019-11-02 07:44:42
【问题描述】:

在构建 Flutter 应用程序时,我经常遇到“?.”符号。如果有人可以帮助解决它。我知道其他语言的“?:”运算符。

String unmaskedText = _maskedPhoneKey.currentState?.unmaskedText;

_codeTimer?.cancel();

【问题讨论】:

  • 通过简单的 Google 搜索“Dart Operators”很容易找到答案——你会找到 Dart 语言导览页面,并在该页面上快速搜索 ?.将向您显示操作员的名称和操作说明。

标签: flutter dart


【解决方案1】:
_codeTimer?.cancel();

等价于

if (_codeTimer != null)
  _codeTimer.cancel();

所以,如果不是null,您只会在_codeTimer 上调用cancel(),因此它会阻止您检查null

【讨论】:

  • 还有 ??在绑定语句的末尾表示如果它为 null 则执行其他操作,例如:int number = _getNumberFromDb() ?? 0;
猜你喜欢
  • 2011-02-19
  • 2020-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2010-10-13
  • 1970-01-01
相关资源
最近更新 更多