繁体   English   中英

什么? 在 Dart 中做什么?

[英]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.

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