Skip to content

空安全

声明变量

与之前一致,但默认不能为空

int i = 1024;
String s = 'Hi';
final b = func();

声明可为空的变量,需要在变量类型前加?

int? i = 1024; // can be null later
String? s ;
final? b = func(); // func may return null

尽量不要将变量设置为可空(减少?的使用),绝大多数类型都是可以不必为空的。

对空赋值

使用??对变量赋值,如果变 量为空,则赋右侧值,否则为运算符左值。

int value = aNullableInt ?? 0; // 0 if it's null; otherwise, the integer

同样还有??=

int value ??= 0; // 0 if it is null, oterwise, keep the original value