繁体   English   中英

在那儿 ”!。” 飞镖中的运算符(颤动)?

[英]Is there "!." operator in dart (flutter)?

Flutter 源文件中多次包含类似这样的代码:

 @override
  double computeMinIntrinsicWidth(double height) {
    if (child != null)
      return child!.getMinIntrinsicWidth(height);
    return 0.0;
  }

请解释 ”!。” 我在飞镖操作员列表中找不到它。

后缀感叹号 (!) 接受左侧的表达式并将其强制转换为其基础的不可为空类型。 所以它改变了:

String toString() {
  if (code == 200) return 'OK';
  return 'ERROR $code ${(error as String).toUpperCase()}';
}

像这样:

String toString() {
  if (code == 200) return 'OK';
  return 'ERROR $code ${error!.toUpperCase()}';
}

您可以在本文档中阅读有关空安全的更多信息。

它是“ (非)空断言运算符”,它在下一个版本中成为具有空安全功能的 Dart 的一部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM