Menu
CoddyTech

空断言运算符

本课属于 Coddy Dart 学习旅程的“基础知识”单元。第 80 课,共 94 课。

null 断言运算符(!)告诉 Dart,在代码的这一处,可空变量肯定不是 null。它会强制 Dart 将可空类型视为不可空类型。

创建一个可空字符串变量:

String? name = 'Dart';

使用 null 断言运算符,将它视为不可为空:

String nonNullableName = name!;
print(nonNullableName);

运行上面的代码后,输出将是:

Dart

请注意!如果变量实际为 null,你的程序就会崩溃:

String? language = null;
// String nonNullable = language!; // 这会在运行时崩溃
challenge icon

挑战

入门

在这个挑战中,你将练习在 Dart 中使用空值断言运算符(!)。这个运算符会告诉 Dart,在代码中的特定位置,可空变量一定不为 null。

补全下面的代码,使用空值断言运算符将可空的 username 变量转换为不可空的字符串,以便将其赋值给 displayName。

预期输出:

Welcome, DartLearner!

亲手试试

void main() {
  // 这个可空 String 变量已经有一个非空值
  String? username = 'DartLearner';
  
  // TODO: 使用非空断言运算符 (!) 将 username
  // 从可空 String 转换为不可空 String
  // 以便将它赋值给 displayName
  String displayName;
  
  // 这会显示欢迎消息
  print('Welcome, $displayName!');
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Dart 在线编译器