在Flutter编程中,会经常用到”..”的语法糖,如下

state.clone()
          ..splashImg = action.img
          ..famousSentence = action.famousSentence;

  其实以上代码等同于

state.clone()
state.splashImg = action.img
state.famousSentence = action.famousSentence;

  简单的可以看成链式调用, 但和Java等的链式调用不同的是: 

Java中的链式调用有个规律, "谁调用,返回谁" ,比如 
  public Alert setTitle(String str){
    Alert.title = str;
    return Alert;
}
在这里边Alert是调用主体, 最后返回的还是Alert;

而在Dart中 ".." 不用在方法中返回调用主体; 尽管源码的实现方式也是通过set进去的,但我们看到的就是Dart给我们用的语法糖, 因为Dart本身就把成员变量的getter setter 方法改为隐式的了

 

版权声明:本文为gloryhope原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gloryhope/p/13367585.html