Dart中关于??

52 阅读1分钟

在 Dart 中,?? 是一个叫做 "null 合并运算符" 的运算符。它的作用是,当左侧的表达式为 null 时,返回右侧的表达式;如果左侧的表达式不为 null,则返回左侧的表达式。

示例:

void main() {
  String? name;
  String greeting = name ?? "Hello, Guest!";
  
  print(greeting); // 输出: Hello, Guest!
  
  name = "Alice";
  greeting = name ?? "Hello, Guest!";
  
  print(greeting); // 输出: Alice
}

在这个例子中,第一次调用时 namenull,所以返回了默认值 "Hello, Guest!"。第二次调用时 name 有值 "Alice",因此返回了 name 的值。

使用场景:

?? 常用于提供默认值,尤其是在处理可选类型或在可能为 null 的情况下,确保代码的健壮性。