Flutter —— dart基础语法(2)
1. list 和 map
list
,Dart中的列表:
var list1 = [1,2,3];
创建可变
列表。var list1 = const [1,2,3];
创建不可变
列表。- 可以存放不同的类型
指定位置添加元素。
list1.insert(0, "asd");
删除指定元素。
list1.remove("asd");
清除所有元素。
list1.clear();
数组排序。
list1.sort();
取sublist(这里取到的范围是1-2,也就是包含前面不包含后面)。
list1.sublist(1,3);
list 转为map
list1.asMap()
如果是不可变数组进行数组的操作就会报错。
map
,dart中的键值对。
var dic1 = {'one':'xiaolu','two':'xiaoshun'};
创建可变
列表。var dic1 = const {'one':'xiaolu','two':'xiaoshun'};
创建不可变
列表。
字典取值
dic1["one"]
获取字典长度
dic1.length;
获取字典所有的值
dic1.values;
获取字典所有的键
dic1.keys;
2. ??= 和 ??
??=
: 如果这个变量的值为空的时候则进行赋值,否则就不进行赋值。
??
: 如果左边有值返回左边,否则就返回右边。
3. 方法 和 箭头函数
Dart 中的方法也是一个对象,返回值和参数类型可以省略。当方法的执行语句只有一句的时候,可以使用箭头函数 => 表达式。
void main() => functionDemo();
正常的函数
int sum(int a, int b) {
return a + b;
}
忽略返回值和参数类型
sum( a, b) {
return a + b;
}
4.方法的可选参数
传递可选参数必须带上形参的名字。
sum(int a,{ b, c}){
b ??= 0;
c ??= 0;
return a + b + c;
}
这样调用的时候,就要带上形参的名字。这里的顺序可以颠倒。
sum(1,c:2,b:3);
这里也可以只传一个可选参数,当然也可以都不传。
sum(1,b:3);
sum(1);
函数如果将可选参数的类型定义为 Int,String等类型,需要在Int,String后面添加一个?,这样就会有null ability,参数就可以为空了。但是这里要记得处理参数为空的情况。
sum(int a,{int? b,int? c}){
b ??= 0;
c ??= 0;
return a + b + c;
}
或者可以给参数一个默认值。
sum(int a,{int b = 0,int c = 0}){
return a + b + c;
}
还有一种方法不需要传递参数的名字,只需要按顺序输入值就可以了。这里不能跳过b给c赋值,如果只输入两个参数,那么就会赋值a和b。
sum(int a,[int b = 0, int c = 0]){
return a + b + c;
}
调用
sum(1,2,3);
sum(1,2);
转载自:https://juejin.cn/post/7013269651052298277