类型测试运算符
本课属于 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}');
}挑战
简单创建一个 Dart 程序,使用类型测试运算符(is 和 is!)检查变量类型:
- 使用类型推断(
var)创建变量number,值为42 - 使用类型推断创建变量
decimal,值为3.14 - 使用类型推断创建变量
text,值为"Hello" - 使用类型推断创建变量
active,值为true - 使用
is运算符检查每个变量是否为正确的类型(int、double、String、bool) - 使用
is!运算符检查每个变量是否不是错误的类型 - 按照预期输出中显示的确切格式打印结果
你的输出必须与以下确切格式一致:
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}");
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Dart 在线编译器