Menu
CoddyTech

类型测试运算符

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

Dart 的类型测试运算符会在运行时检查变量类型:is 用于验证变量是否匹配某种类型,而 is! 用于检查变量是否不匹配。

void main() {
  var number = 42;
  var isInteger = number is int;
  
  print('Is $number an integer? $isInteger');
}
void main() {
  var price = 9.99;
  var isNotInteger = price is! int;
  
  print('Is $price not an integer? $isNotInteger');
}
void main() {
  var value1 = 'Hello';
  var value2 = 42;
  var value3 = true;
  
  print('$value1 is a String: ${value1 is String}');
  print('$value2 is a double: ${value2 is double}');
  print('$value3 is a bool: ${value3 is bool}');
}
challenge icon

挑战

简单

创建一个 Dart 程序,使用类型测试运算符(is 和 is!)检查变量类型:

  1. 使用类型推断(var)创建变量 number,值为 42
  2. 使用类型推断创建变量 decimal,值为 3.14
  3. 使用类型推断创建变量 text,值为 "Hello"
  4. 使用类型推断创建变量 active,值为 true
  5. 使用 is 运算符检查每个变量是否为正确的类型(int、double、String、bool)
  6. 使用 is! 运算符检查每个变量是否不是错误的类型
  7. 按照预期输出中显示的确切格式打印结果

你的输出必须与以下确切格式一致:

number is int: true
number is! String: true
decimal is double: true
decimal is! int: true
text is String: true
text is! bool: true
active is bool: true
active is! double: true

亲手试试

void main() {
  // 使用类型推断创建变量
  // 将每个占位符替换为对应 print 语句中指定类型的值
  var number = null;
  var decimal = null;
  var text = null;
  var active = null;
  
  // 使用类型测试运算符检查类型并输出结果
  // 将每个占位符替换为类型测试表达式,使每行都输出布尔值
  print("number is int: ${number}");
  print("number is! String: ${number}");
  
  print("decimal is double: ${decimal}");
  print("decimal is! int: ${decimal}");
  
  print("text is String: ${text}");
  print("text is! bool: ${text}");
  
  print("active is bool: ${active}");
  print("active is! double: ${active}");
}
quiz icon自我测试

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

基础知识中的所有课

自己练习: Dart 在线编译器