Dart 基础 – 内置类型 – 布尔
内容目录
版权归作者 ©刘龙宾 所有,本文章未经作者允许,禁止私自转载!
1. 定义布尔变量
Dart 使用 bool
关键字表示布尔类型,布尔类型只有两个对象 true
和 false
,两者都是编译时常量。
void main(List<String> args) {
// 定义布尔变量 boo,并赋值为 true
bool boo = true;
// 定义布尔变量 foo,并赋值为 false
bool foo = false;
print(boo); // 输出 true
print(foo); // 输出 false
}
2. 布尔值判断
在实际开发中,bool 类型经常会结合条件判断语句一起使用。在 Dart 中进行布尔值判断时,必须显示地进行判断,不允许使用类似 JavaScript 的隐式转换。例如:在 JavaScript 中,NaN
、数字 0
、空字符串
、null
、undefined
这5个值会默认转换为 false,其余值都默认转换为 true。但是在 Dart 中没有隐式转换,必须显示地进行判断:
void main(List<String> args) {
String name = '';
// 1. 判断 name 是否为空字符串
if (name.isEmpty) {
print('用户名为空');
} else {
print('你好' + name);
}
int age = 17;
// 2. 判断是“成年人”还是“未成年”
if (age >= 18) {
print('成年人,抽烟喝酒烫头');
} else {
print('未成年, 娃哈哈旺仔AD钙');
}
int? count = int.tryParse('x');
// 3. 判断 count 的值是否为 null
if (count == null) {
print('数字转换失败!');
} else {
print('数字转换成功:$count');
}
double result = 0 / 0;
// 4. 判断是数字运算的结果是否为 NaN
if (result.isNaN) {
print('计算失败 NaN');
} else {
print('计算的结果是:$result');
}
}
在 Dart 中一律使用双等号 == 进行相等判断,不支持 JavaScript 中的全等判断 ===。
版权归作者 ©刘龙宾 所有,本文章未经作者允许,禁止私自转载!