Dart為布林資料型別提供內建支援,Dart中的布林資料型別僅支援兩個值 - true
和false
。關鍵字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以選中模式執行。