常用数据类型
- Numbers(数值)
-
int
-
double
-
//Int 必须是整型
int a = 123;
a = 456;
//Double 既可以是整型,又可以是浮点型
double b = 12.3;
b = 24;
//运算符 + - * / %
var c = a+b;
print(c);//输出480.0
- Strings(字符串)
- String
//定义字符串
var str1 = '这是字符串';
String str2 = "这也是字符串";
//多个单引号(双引号)表示可以写多行字符串
String str3 = '''这还是字符串''';
//字符串拼接
String str1 = '你好';
String str2 = 'Dart';
print("$str1 $str2");
print(str1+str2);
- Booleans(布尔)
- bool
// bool 值 true / false
bool flag = true;
if(flag){
print("真");
} else {
print("假");
}
- List(数组/列表)
- 在Dart中吗,数组是列表对象,所以一般称为列表
//定义List
var l1 = ["张三", 20,true];
print(l1);//输出 [张三,20, true]
//集合长度
print(l1.length);//输出 3
//获取集合中的元素,根据下标
print(l1[0]);//张三
//定义List 指定类型
var l2 =<String>["张三", "李四", "王二"];//String类型集合
var l3 =<int>[1, 2, 3];//int类型集合
//定义空List 添加数据
var l4 = [];
l4.add("麻子");
l4.add(20);
print(l4);//[麻子,20]
//通过[]创建的集合容量可变,即使原来就有数据也可以添加新的数据
var l5 = ["张三", 20, true, "学习"];
print(l5);//[张三,20, true, 学习]
//var l6 = new List(); 现在的新版本已经不可用啦
//通过filled创建的集合,长度固定,不能再通过add增加数据,也不能修改集合的长度
var l6 = List.filled(2,"");
//var l6 = List<String>.filled(2,""); 指定类型
//修改集合中的数据
l6[0] = "张三";
//通过[]创建的集合,可以修改集合的长度
var l7 = [1,2];
print(l7.length);//2
l7.length = 1;
print(l7.length);//1
- Maps(字典)
- Map是一个键值对相关的对象,键和值可以是任何类型的对象
//定义Maps
var person = {
"name":"张三",
"age":20,
"work":["程序员","老师"]
};
print(personn);//输出Json格式数据 {name: 张三, age: 20}
//访问某个键的值
print(person["name"]);// 张三
print(person["work"]);// [程序员, 老师]
//通过new 来定义
var p = new Map();
p["name"] = "李四";
p["age"] = 25;
用不到的数据类型
- Runes
- Rune是UTF-32编码的字符串,它可以通过文字转成符号表情或者代表特定的文字
var clapping = '\u{1f44f}';
print(clapping);
print(clapping.codeUnits);
print(clapping.runes.toList());
Runes input =
new Runes('\u2665 \u{1f605} \u{1f60e} \u{1f47b} \u{1f596} \u{1f44d}');
print(new String.fromCharCodes(input));
- Symbols
- Symbol对象表示在Dart中声明的运算符或者标识符
Dart类型判断
//通过关键词 is
var str = 123456;
if(str is String){
print("String类型");
} else if (str is int) {
print("int类型");
}
记录Dart学习