如何解决Whats ?? = Dart中的运算符
这是我在Flutter源代码中看到的新赋值运算符:
splashFactory ??= InkSplash.splashFactory;
textSelectionColor ??= isDark ? accentColor : primarySwatch[200];
这个赋值运算符是什么意思?
example in Flutter source code
解决方法
?? =是一个新的空感知运算符。具体地说,?? =是可识别空值的赋值运算符。
?? 如果为null运算符。
expr1 ?? expr2
的取值为expr1
,如果不是null
,则取值为expr2
。
?? = 空感知分配。
v ??= expr
使v
被分配expr
仅在v
为null
的情况下。
,?。 空感知访问。如果
x?.p
不是x.p
,则x
的取值为null
,否则为null
的取值。
?? 是空检查运算符。
String name=person.name ?? 'John';
如果person.name为null,则为name分配一个“ John”值。
?? = 仅表示“如果左侧为空,则执行赋值”。如果变量为null,则只会分配一个值。
splashFactory ??= InkSplash.splashFactory;
,
??双问号运算符表示“如果为null”,则使用以下表达式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。