flutter开发小技巧以及注意点
1.在dart中字符类型与数字类型数值相同时使用==的结果也不相等
2.在dart中获取map的值,需要使用 变量名[key] 来获取 map的键值
3.需要添加值 变量名[key]=值
4.在dart中判断一个类型可以用这种写法
不知道str的类型
if( str is String){
print(....)
}else if(str is int){
print(...)
}
5.可以直接在字符串中用$变量名获取值:
var str = 1;print("你好$str");
6.如果b为空则赋值,不为空则不赋值
b??=12
b = a ?? 10 如果a为空,则将10赋值给b
7.给集合去重
var set = new Set();
set.add(li); //li是一个带有重复数据的集合
var list =set.toList(); 思考:如果list中数据是对象,那么去重以什么为标准(要试一试)
8.方法可选参数
String getuser(String name, [int? age]) { //[int? age] 可选参数隐式默认为空,需要加?对其判定不为空
return name;
}
print(getuser("徐联奥"));
9.默认参数
String getuser(String name, [String sex = '男',int? age]) {
return "$name--$sex";
}
print(getuser("徐联奥"));
}
10.自执行方法
((int n) { //当程序执行时,自动执行
print("自执行方法--$n");
})(12);
11.闭包(使方法中局部变量达到了全局变量的效果,但该变量又不是全局变量)
fu() {
var a = 100;
return () {
a++;
print(a);
};
}
12.构造函数简写
Student(this.name,this.sex)
13.私有方法与属性的写法
在属性或方法名前面加_(下划线)
14.一种特殊的方法写法
get 方法名{方法体} //直接通过调用属性的方式调用该方法
15.对象操作符
? //去断定一个变量不为空
as //去断定一个变量为一种类型(断言)
is //类型判断
.. //级联操作(连缀) 原写法(p.name=值;p.age=值;p.方法;) 新写法(p..name=值
..age=值
..方法 )
16.接口,dart里面没有专门的抽象类,只能用普通类或抽象类当成接口使用,使用关键字来实现接口