Dart布尔类型
精华
小牛编辑
137浏览
2023-03-14
Dart为布尔数据类型提供内置支持,Dart中的布尔数据类型仅支持两个值 - true
和false
。关键字bool
用于表示Dart中的布尔文字。
在Dart中声明布尔变量的语法,如下所示 -
bool var_name = true;
// 或者
bool var_name = false
示例1
void main() {
bool test;
test = 12 > 5;
print(test);
}
执行上面示例代码,得到以下结果 -
true
示例2
与JavaScript不同,布尔数据类型仅将文字true
识别为true
。任何其他值都被视为false
。考虑以下示例 -
var str = 'abc';
if(str) {
print('String is not empty');
} else {
print('Empty String');
}
如果在JavaScript中运行,上面的代码段将打印消息 - "String is not empty"
,因为如果字符串不为空,if
结构将返回true
。
但是,在Dart中,str
被转换为false
,因为str != true
。因此,代码段将打印消息 - "Empty String"
(在未检查模式下运行时)。
示例3
如果以已检查模式运行,上面的代码片段将引发异常。如以下说明 -
void main() {
var str = 'abc';
if(str) {
print('String is not empty');
} else {
print('Empty String');
}
}
它将在已检查模式下产生以下输出 -
Unhandled exception:
type 'String' is not a subtype of type 'bool' of 'boolean expression' where
String is from dart:core
bool is from dart:core
#0 main (file:///D:/Demos/Boolean.dart:5:6)
#1 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261)
#2 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)
它将以检查模式生成以下输出 -
Empty String
注 - 默认情况下,WebStorm IDE以选中模式运行。