[英]What does ?. do in Dart?
"?." 是什么意思语法在 Dart 语言中做什么? 我这里有一个来自 Flutter 的 scaffold.dart 代码的例子:
_drawerKey.currentState?.open();
它是一个空安全运算符。
用 ?。 当您想在对象上调用方法/getter 时,如果该对象不为 null(否则返回 null)。
_drawerKey.currentState?.open();
仅当它不为空时才调用open()
。
更多信息: https : //medium.com/@thinkdigitalsoftware/null-aware-operators-in-dart-53ffb8ae80bb
要保护对可能为 null 的对象的属性或方法的访问,请在点 (.) 前放置一个问号 (?):
myObject?.anyProperty
前面的代码等效于以下内容:
(myObject != null) ? myObject.anyProperty: null
您可以链接 ? 的多种用途。 一起在一个表达式中:
myObject?.anyProperty?.anyMethod()
如果 myObject 或 myObject.anyProperty 为 null,则前面的代码返回 null(并且从不调用 anyMethod())。
有关更多信息,请阅读官方文档,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.