Dart中两个点..和三个点...的用法

初学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'};
  }
}

你可能感兴趣的:(Dart中两个点..和三个点...的用法)