初学Flutter的同学看到代码中出现..和...肯定很迷茫,其实这两个很简单
两个点(..)
..称为级联符号象,可以实现对一个对象的连续调用
列如有一个对象A,我要调用A里面的方法然后将A返回
class Test {
//正常写法
A printfA() {
var a = A();
a.a();
a.b();
a.c();
return a;
}
//级联写法
A printfA() {
return A()..a()..b()..c();
}
}
class A {
a() {}
b() {}
c() {}
}
这样就能省去变量创建,实现链式调用
三个点(...)
...用来拼接集合,如List,Map等
class Test {
Test() {
//这里组合后 list就变成[ 'a', 'b', 'c','d', 'e', 'f']
var list2 = ['d', 'e', 'f'];
var list = ['a', 'b', 'c', ...list2];
//这里组合后map就变成{'a': 'a', 'b': 'b','c': 'c', 'd': 'd'}
var map2 = {'a': 'a', 'b': 'b'};
var map = {...map2, 'c': 'c', 'd': 'd'};
}
}