Programowanie w rzutkach - Boolean
Dart zapewnia wbudowaną obsługę typu danych Boolean. Typ danych Boolean w DART obsługuje tylko dwie wartości - prawda i fałsz. Słowo kluczowe bool jest używane do reprezentowania literału boolowskiego w DART.
Składnia deklarowania zmiennej boolowskiej w DART jest następująca:
bool var_name = true;
OR
bool var_name = false
Przykład
void main() {
bool test;
test = 12 > 5;
print(test);
}
Spowoduje to, co następuje output -
true
Przykład
W przeciwieństwie do JavaScript, typ danych Boolean rozpoznaje tylko literał prawda jako prawda. Każda inna wartość jest uważana za fałszywą. Rozważmy następujący przykład -
var str = 'abc';
if(str) {
print('String is not empty');
} else {
print('Empty String');
}
Powyższy fragment kodu, jeśli zostanie uruchomiony w języku JavaScript, wydrukuje komunikat „Ciąg nie jest pusty”, ponieważ konstrukcja if zwróci wartość true, jeśli ciąg nie jest pusty.
Jednak w Dart strjest konwertowany na fałsz jako str! = true . W związku z tym fragment kodu wydrukuje komunikat „Pusty ciąg” (po uruchomieniu w trybie niezaznaczonym).
Przykład
Powyższy fragment, jeśli się pojawi checkedmode zgłosi wyjątek. To samo pokazano poniżej -
void main() {
var str = 'abc';
if(str) {
print('String is not empty');
} else {
print('Empty String');
}
}
Spowoduje to, co następuje output, w Checked Mode -
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)
Spowoduje to, co następuje output, w Unchecked Mode -
Empty String
Note - The WebStorm IDE działa domyślnie w trybie zaznaczenia.