当前位置: 首页 > 教程 > Dart >

Dart布尔类型

精华
小牛编辑
132浏览
2023-03-14

Dart为布尔数据类型提供内置支持,Dart中的布尔数据类型仅支持两个值 - truefalse。关键字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以选中模式运行。