Flutter Dart 中的空安全语法

9 min read

Flutter Dart 中的空安全语法是在 Dart 2.12 版本中引入的新特性。这个特性旨在提高代码的可靠性和可维护性,减少因空引用而导致的运行时错误。

空安全语法分为三个部分:

  1. 非空断言操作符(!):在变量名后添加 !,来表示该变量不可能为 null。
  2. 可空值操作符(?):可以用于在变量为空时返回默认值,避免了因为空值引用而导致运行时错误。例如,可以使用 ?? 运算符返回默认值,如将代码 var b = a ?? 1; 相当于 var b = a != null ? a : 1;。
  3. 空安全类型(?):类似可空值操作符,但它应用于类型本身。通过在类型名称后面加上 ? 来表示该类型可以为 null。

例如,下面是使用空安全语法的代码片段:

String? nullableString = null;
String nonNullableString = "Hello World!";
String lengthOfNullableString = nullableString?.length.toString() ?? "Null String";
String lengthOfNonNullableString = nonNullableString.length.toString();

在这个片段中,nullableString 声明为可空类型,因此它的值可以为 null。为了避免因为空引用而导致的运行时错误,我们使用可空值操作符(?.)来返回 nullableString 的长度,如果 nullableString 为 null,则返回默认值 "Null String"。nonNullableString 声明为非空变量,因此在使用 length 属性之前不需要使用可空值操作符(?.)。

总之,Flutter Dart 中的空安全语法通过为开发人员提供工具来创建更可靠和可维护的代码,从而增强了代码的安全性。