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。任何其他值都被视为 false。考虑以下示例:

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

广告