空断言运算符
本课属于 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!; // 这会在运行时崩溃
挑战
入门在这个挑战中,你将练习在 Dart 中使用空值断言运算符(!)。这个运算符会告诉 Dart,在代码中的特定位置,可空变量一定不为 null。
补全下面的代码,使用空值断言运算符将可空的 username 变量转换为不可空的字符串,以便将其赋值给 displayName。
预期输出:
Welcome, DartLearner!亲手试试
void main() {
// 这个可空 String 变量已经有一个非空值
String? username = 'DartLearner';
// TODO: 使用非空断言运算符 (!) 将 username
// 从可空 String 转换为不可空 String
// 以便将它赋值给 displayName
String displayName;
// 这会显示欢迎消息
print('Welcome, $displayName!');
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Dart 在线编译器