Menu
CoddyTech

非空类型

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

Dart 中的非空类型是所有变量的默认类型。声明变量时,如果不带 ? 符号,它就必须始终有值,不能为 null。

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

String name = 'Dart';
print(name);

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

Dart

尝试将 null 赋值给不可为空的变量会导致错误:

// 这样会导致错误:
// String language = null;

不可为空的变量必须用一个值进行初始化:

int score = 100;
bool isActive = true;
double price = 9.99;

print('Score: $score, Active: $isActive, Price: $price');

执行上述代码后,输出为:

Score: 100, Active: true, Price: 9.99
challenge icon

挑战

入门

在这个挑战中,你将练习在 Dart 中使用非空类型。默认情况下,Dart 中的变量不能为 null,除非你使用 ? 符号将它们显式设为可空。

你的任务是为当前未初始化的非空变量赋予合适的值,从而修复代码。

预期输出:

Name: John
Age: 25
Is active: true
Score: 95.5

亲手试试

void main() {
  // 这些变量不能为空,需要赋值
  // TODO: 用合适的值初始化这些变量
  String name;
  int age;
  bool isActive;
  double score;
  
  // 这段代码会打印这些值
  print('Name: $name');
  print('Age: $age');
  print('Is active: $isActive');
  print('Score: $score');
}
quiz icon自我测试

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

基础知识中的所有课

自己练习: Dart 在线编译器