- flutter中的数据类型
int、double、num、string、List、Map、bool、set
,类型判断用is
var text = "112";
if (text is String) {
print("是字符串");
} else {
print("不是字符串");
}
-
Set
类型和数组一样只不过去重
//使用set滤重
List myList = ["苹果","香蕉","椰子","橙子","香蕉","苹果"];
var s = new Set();
s.addAll(myList);
print(myList); //[苹果, 香蕉, 椰子, 橙子, 香蕉, 苹果]
print(s); //{苹果, 香蕉, 椰子, 橙子}
print(s.toList()); //[苹果, 香蕉, 椰子, 橙子]
-
Map
类型
//map类型
Map person = {"name":"张三","age":20,"sex":"男"};
print(person.keys); //(name, age, sex)
print(person.keys.toList()); //[name, age, sex]
print(person.isEmpty); //false
print(person.isNotEmpty); //true
person.addAll({
"work":"外卖"
});
print(person);
4.循环
List myList = ["苹果","香蕉","椰子","橙子","香蕉","苹果"];
//1.
for(var item in myList){
// print(item);
}
//2
myList.forEach((value){
// print(value);
});
//3
List nList = [1,2,3];
var newList = nList.map((value){
return value * 2;
});
// print(newList); //(2, 4, 6)
// print(newList.toList()); //[2, 4, 6]
//4. any 代表数组中有一个大于5就为true, where代表所有的都>5
List nList1 = [1,2,3,4,5,6,7];
var result1 = nList1.any((value){
return value > 5;
}); //true
print(result1);
var result2 = nList1.every((value){
return value > 5;
}); //false
print(result2);
//5where
var result3 = nList1.where((value){
return value > 5;
}); //false
print(result3); //(6, 7)
print(result3.toList()); //[6, 7]
4. ..
级联操作符,更简便的给对象属性赋值
Person p = Person();
//赋值的正常写法
// p.name = "张三";
// p.age = 15;
// p.printInfo();
//级联操作符写法
p
..name = "张三"
..age = 15;
p.printInfo();
5. abstract抽象类、继承extents、接口implements、mixin
6. 泛型
7. 空安全
- 2.13版本之后加入的 主要有
?
、!
、late
、@request
等关键字
8. flutter 常量 const final identical 无状态组件性能优化
9. image组件加载不同分辨率的图片
10. 路由跳转
- 普通路由跳转
- 命名路由跳转
- 第三方 fluro 、getx
网友评论