Dart 编程 - 布尔值


Dart 提供了对布尔数据类型的内置支持。DART 中的布尔数据类型仅支持两个值 - true 和 false。关键字 bool 用于表示 DART 中的布尔文字。

在 DART 中声明布尔变量的语法如下 -

bool var_name = true;  
OR  
bool var_name = false 

例子

void main() { 
   bool test; 
   test = 12 > 5; 
   print(test); 
}

它将产生以下输出-

true 

例子

与 JavaScript 不同,布尔数据类型仅将文字 true 识别为 true。任何其他值都被视为错误。考虑以下示例 -

var str = 'abc'; 
if(str) { 
   print('String is not empty'); 
} else { 
   print('Empty String'); 
} 

上面的代码片段如果在 JavaScript 中运行,将打印消息“字符串不为空”,因为如果字符串不为空,if 构造将返回 true。

然而,在 Dart 中,str被转换为false 作为 str != true。因此,该代码片段将打印消息“空字符串”(在未检查模式下运行时)。

例子

上面的代码片段如果在检查模式下运行将抛出异常。下图同样如此 -

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 在检查模式下运行。