Dart-布尔值

本文介绍了Dart语言中的布尔数据类型,指出其只支持true和false两个值,并通过示例展示了与JavaScript的不同。在Dart中,只有true被视为布尔值,其他任何值(如非空字符串)在条件判断中都会转换为false。如果在checked模式下运行,非布尔值在if条件中会抛出异常。
摘要由CSDN通过智能技术生成

Dart为布尔数据类型提供内置支持。Dart中的布尔数据类型仅支持两个值true和false。关键字bool用于表示DART中的布尔值。

在dart中声明布尔变量的语法如下所示:

bool var_name = true;
 
或者
 
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中运行,上面的代码段将打印消息“String is not empty”,因为如果字符串不为空,if结构将返回true

但是,在Dart中,str 被转换为 false,因为str != true。因此,代码段将打印消息 Empty String (以unchecked模式运行,如果以checked模式运行将抛出异常)。


如果以检查(checked)模式运行,上面的代码片段将引发异常。同样如下所示

void main() {
   var str = 'abc';
   if(str) {
      print('String is not empty');
   } else {
      print('Empty String');
   }
}

它将在Checked模式下 产生以下输出

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值