目录
Dart中常用的数据类型有:字符串String,数字int,double,num,布尔bool,列表List,字典Map,动态类型dynamic。
一.Dart中的常用类型-----String
场景:我们需要来描述一段文本的时候,可以使用String来声明。
语法:String 属性名='文本内容';
特点:引号支持双引号或者单引号,支持拼接及模板字符串;
模板字符串语法:String 属性名 = "文本内容变量名";或String 变量名 = "文本内容{变量名}"
代码实例:
Dart
void main(List<String> args) {
String text='今天是个好日子';
print(text);
}
拼接模板字符串实例:
1.String 变量名 = "文本内容{变量名}"2.String 属性名 = "文本内容变量名"
void main(List<String> args) {
String flag="张三";
String content = "我和$flag是好朋友";
print(content);
}
二.Dart中的常用类型-----数字类型
1.Dart中的数字类型为:int,num,double;
2.场景:当我们需要去描述一个数字类型的时候;
3.区别:int-整型数字,num-可整型可小数,double-小数;
4.语法:int/num/double 属性名 = 数值;
5.赋值关系:double和int不能直接赋值,num不能直接给double直接赋值,double可以直接给num赋值。
5.代码示例:
Dart
void main(List<String> args) {
int friendCount = 3;
print('我有$friendCount个朋友');
num rest = 1.5;
print('我有$rest月的假期');
double appleCount = 1.5;
print('我买了$appleCount斤苹果');
}

Dart
friendCount = appleCount.toInt();
appleCount = friendCount.toDouble();
appleCount = rest.toDouble();//num可以转化成doubLe给double赋值
rest=appleCount;//double可以直接给num赋值

三.Dart中的常用类型-----布尔类型
1.场景:当我们需要一个属性来表示当前为真(true)或假(false)的时候,需要使用bool关键字来声明。
2.语法:bool 属性名 = true/false;
3.代码示例:
Dart
void main(List<String> args) {
bool isFinishWork = false;
print("同学当前的作业状态为$isFinishWork");
isFinishWork = true;
print("同学当前的作业状态为$isFinishWork");
四.Dart中的常用类型-----列表类型1
1.场景:当一个变量需要存储多个值的时候,可以使用列表类型list;
2.需求:一个班级的同学用list进行存储,支持对学生的查找,新增,删除,循环;
3.语法:List属性名 = '学生1','学生2';
4.代码示例:
Dart
void main(List<String> args) {
List student = ["张三","李四","王五"];
print(student);
}

5.列表方法:
<1.在尾部添加-add(内容)
<2.在尾部添加一个列表-addAll(列表)
<3.删除满足内容的第一个-remove(内容)
<4.删除最后一个内容-removeLast()
<5.删除索引范围内的数据-removeRange(start,end)------end结束的索引-不包含在删除范围内。
6.代码示例:
Dart
List student = ["张三","李四","王五"];
print(student);
student.add("刘六");
print(student);
student.addAll(["赵七","田八"]);
print(student);
student.remove("刘六");
print(student);
student.removeLast();
print(student);
student.removeRange(1, 2);
print(student);

五.Dart中的常用类型-----列表类型2
一.三个列表操作
<1.循环-forEach((item)){});
<2.是否都满足条件-every((item{return 布尔值 });
<3.筛选出满足条件的数据-where((item){return 布尔值});
代码示例:
Dart
student.forEach((item){ //foreach循环
print(item);
});
print(student.every((item){ //every判断是否满足
return item.toString().startsWith("王");
}));
print(student.where((item){ //where筛选出满足条件的
return item.toString().startsWith("王");
}).toList());
二.四个列表属性
<4.列表的长度(属性)-length
<5.最后一个元素(属性)-last
<6.第一个元素(属性)-first
<7.是否为空(属性)-isEmpty
代码示例:
Dart
print(student.length);
print(student.last);
print(student.first);
print(student.isEmpty);
六.Dart中的常用类型-----字典类型
场景:当存储的英文需要找到对应的中文描述时,需要使用键值对的类型Map
要求:需要定义一个英文对应中文的描述,并可以通过英文找到对应的中文
语法1:Map 属性名 = { key,value};
语法2:字典key可以取值和赋值;
代码示例:
Dart
void main(List<String> args) {
Map transMap = {"lunch": "午饭","morning":"早上","hello":"你好"};
print(transMap);
print(transMap["lunch"]);
}
五个字典操作:
<1.forEach
<2.addAll
<3.containsKey
<4.remove
<5.clear
代码示例:
Dart
void main(List<String> args) {
Map transMap = {"lunch": "午饭","morning":"早上","hello":"你好"};
print(transMap);
print(transMap["lunch"]);
transMap.forEach((key,value){ //foreach
print("$key,$value");
});
transMap.addAll({"fine":"非常好"}); //addALL
print(transMap);
print(transMap.containsKey("fine")); //containsKey
transMap.remove("fine"); //remove
print(transMap);
transMap.clear(); //clear
print(transMap);
}

七.Dart中的常用类型----动态类型
定义:dynamic 可以用来声明动态类型
特点:可以自由改变类型,而且绕过编译时检查
语法:dynamic 属性名 = 值;
代码示例:
Dart
void main(List<String> args) {
dynamic text = "hello0"; //可以自由改变类型,而且绕过编译时检查
text = 1;
text = [];
text = {};
text = false;
print(text);
}

dynamic和var的区别:
dynamic运行时可自由改变类型,无编译检查,方法和属性直接调用;
var会根据初值直接进行类型判断确定类型后类型就被确定,有编译检查,仅限推断的属性和方法。
Dart
void main(List<String> args) {
dynamic text = "hello0"; //可以自由改变类型,而且绕过编译时检查
text = 1;
text = [];
text = {};
text = false;
print(text);
text.startwith(); //两者区别
var free = "测试";
free.toInt();
}

