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);
}
dart-数据类型
最新推荐文章于 2022-09-23 17:36:09 发布