Dart为布尔数据类型提供内置支持。Dart中的布尔数据类型仅支持两个值true
和false
。关键字bool
用于表示DART中的布尔值。
在dart中声明布尔变量的语法如下所示
bool var_name = true; 或者 bool var_name = false
例
void main() { bool test; test = 12 > 5; print(test); }
它将产生以下输出
true
例
与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
(以unchecked模式运行,如果以checked模式运行将抛出异常)。
例
如果以检查(checked)模式运行,上面的代码片段将引发异常。同样如下图所示
void main() { var str = 'abc'; if(str) { print('String is not empty'); } else { print('Empty String'); } }
它将在Checked
模式下 产生以下输出
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