【问题标题】:Prefer using if null operators更喜欢使用 if null 运算符
【发布时间】:2020-08-16 16:43:40
【问题描述】:

Dart 建议我使用 if null operator 。为什么 ?以及如何使用?

这是我的代码:

var name;
name != null ? name : 'nobody';                   

【问题讨论】:

标签: flutter dart


【解决方案1】:

在其他语言中,我们可以使用逻辑或快捷方式。如果 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/

【讨论】:

    【解决方案2】:

    我认为我们不需要在这里使用条件或三元运算符。它将增加程序的复杂性。试试下面

    name = name || 'nobody';
    

    【讨论】:

    • 这在 dart 中不起作用。 (linter 错误:运算符 '||' 的操作数必须可分配给 'bool')
    猜你喜欢
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2010-12-05
    • 2018-05-27
    • 1970-01-01
    相关资源
    最近更新 更多