dart-数据类型

main(List<String> args) {
  // string 字符 支持三个单引号 支持换行
  var str1="abc";
  var str2='abc';
  var str3=''' 
    abc  cba
  ''';
  // 类似于js 的 模板字符串
  print("${str1} ${str2} ${str3}");
  // 还能能简写 但是这种方式不是所有情况下都可以的,$后面跟个变量就可以 但是如果后面是个表达式,就要用${}
  print("$str1 $str2 $str3");
  // 浮点数只有double 没有单双精度区分
  // int 整型 dart支持十进制和十六进制 
  print(0x123);
  // 布尔类型 true  false
  // dart中没有非空即真 布尔值就是布尔值  其他值不会被转化为布尔值
  var msg='有值';
 /* 
  if(msg){//像这样是是不正确的,msg不会被判断为true
    print('输出');
  } 
  */

  // 集合类型
  //  List类似于js数组
  // Set 数据不能重复,顺序不确定
  // Map 键值对(字典)

  // List
  List<String> names = ['ink','snow'];
  // 通过var可以不限制类型的加入
  var names2=['张三',007];
  // 通过[]创建,后增加数据
  var names3=[];
  names3.add('张三');
  names3.add(names2);
  print(names3);
  // Set 少用  常用就是对List进行去重
  // List<String> newNames = List.from(Set.from(names)) 意思就是先把names转换成Set,然后再转换回List,就实现了去重
  Set<int> nums = {101,203,404};
  // Map{key/value}  一般里面会有多种类型,所有在类型定义里面一般键名是String,键值是dynamic 动态的
  Map<String,dynamic> data= {
    'name':'inksnow',
    "age":18,
    "height":1.88
  };
  // 第二种方式
  var person={
    "name":'张三',
    "age":22
  };
  // 第三种方式
  var p = new Map();
  p['car']='Model X';
  p['price']='100w';

  // 似乎和js一样,对于这种map类型就像js对象一样,变量保存的是它的地址值
  var person1={
    "name":"inks",
    "age":20
  };
  var person2={
    "name":"inks",
    "age":20
  };
  print(person2==person1);
  
  // 不常用的
  // Runes 是UTF-32编码的字符串,它可以通过文字转换成符号标签或代表特定意义的字符
  // Symbols对象标识在Dart程序中声明的运算符或标识符
  

  // 通过runtimeType或is来判断数据类型
  print(p.runtimeType);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值