下面的代码行有两个问号:
final myStringList = prefs.getStringList('my_string_list_key') ?? [];
什么意思?
最佳答案
??
双问号运算符表示“if null”。以下面的表达式为例。
String a = b ?? 'hello';
这意味着 a
等于 b
,但如果 b
为 null,则 a
等于 'hello '
。
另一个相关的运算符是??=
。例如:
b ??= 'hello';
这意味着如果b
为空,则将其设置为等于hello
。否则,请勿更改。
引用
条款
Dart 1.12 release news以下统称为空感知运算符:
??
-- if null 运算符??=
-- null 感知赋值x?.p
-- null 感知访问x?.m()
-- null 感知方法调用
关于dart - 什么是 ?? Dart 中的双问号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031804/