【发布时间】:2020-08-16 16:43:40
【问题描述】:
Dart 建议我使用 if null operator 。为什么 ?以及如何使用?
这是我的代码:
var name;
name != null ? name : 'nobody';
【问题讨论】:
Dart 建议我使用 if null operator 。为什么 ?以及如何使用?
这是我的代码:
var name;
name != null ? name : 'nobody';
【问题讨论】:
在其他语言中,我们可以使用逻辑或快捷方式。如果 MaybeSomeNumber() 返回 null,则分配默认值 2:
value = maybeSomeNumber() || 2
在 Dart 中我们不能这样做,因为表达式需要是一个布尔值(“|| 运算符的操作数必须可以赋值给布尔值”)。
这就是为什么 ??运算符存在:
var value = maybeSomeNumber() ?? 2;
同样,如果我们想确保 value 参数不为空,我们会这样做:
value = value ?? 2;
但还有一种更简单的方法。 后备赋值运算符:??=
value ??= 2;
查看原文:https://flutterigniter.com/checking-null-aware-operators-dart/
【讨论】:
我认为我们不需要在这里使用条件或三元运算符。它将增加程序的复杂性。试试下面
name = name || 'nobody';
【讨论】: