什么是 ??Dart中有两个问号?

苏拉奇:

以下代码行带有两个问号:

final myStringList = prefs.getStringList('my_string_list_key') ?? [];

什么意思?

苏拉奇:

??双问号操作装置“如果空”。以下面的表达式为例。

String a = b ?? 'hello';

这意味着a等于b,但如果b为null,则a等于'hello'

另一个相关的运算符是??=例如:

b ??= 'hello';

这意味着如果b为null,则将其设置为hello否则,请勿更改。

参考

条款

飞镖1.12发布消息统称以下为空感知运营商

  • ?? -如果为null运算符
  • ??= -空感知分配
  • x?.p -空感知访问
  • x?.m() -空感知方法调用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在一个文件中有两个并行的类?

为什么在表单中有两个选择框时却没有ID?

为什么在Fedora 24中有两个图形化虚拟终端?

反编译Scala代码:为什么派生类中有两个重写的方法?

为什么struct在C / C ++中有两个变量名

为什么我的程序集输出中有两个析构函数实现?

为什么“这”在两个不同的功能中有所不同?

为什么项目中有两个不同版本的sbt

为什么我在Eclipse中有两个名为Fragment的类?

Ubuntu 软件不起作用,为什么 Ubuntu 20.04 中有两个软件中心?

Debian buster中有两个`dhcpcd`文件-为什么?

为什么我在git repo中有两个主要分支?

为什么在Android Studio项目中有两个build.gradle文件?

为什么在AWS Console中有两个选项用于“更改T2无限”?

为什么在App Store Connect中有两个12.9“大小的屏幕截图选项?

为什么在c ++顶点函数中有两个括号[?

为什么在单节点html文档中有两个html节点?

为什么在GPU的SM中有两个Warp Scheduler?

为什么在优化构建中有两个顺序移至EAX?

为什么自 Go 1.17 以来 go.mod 中有两个“require”块?

为什么在VsCode git中有两个源代码控件?

为什么laravel消息包中有两个相同的方法?

为什么在空白项目支架中有两个IonHeader标签?

为什么Kendo UI Upload模板中有两个类似的操作按钮?

为什么在Ubuntu 18.04中有两个PostgreSQL版本?

为什么Nautilus的Unity启动器中有两个图标?

为什么我的系统中有两个亮度控制文件(/ sys / class /)

为什么在grub.conf文件中有两个关于crashkernel参数的条目?

为什么在Ubuntu软件中有两个Inkscape条目?