Dart布林型別


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以選中模式執行。