Flutter.. 两个点语法含义

Posted glorizz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter.. 两个点语法含义相关的知识,希望对你有一定的参考价值。

  在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 方法改为隐式的了

 

以上是关于Flutter.. 两个点语法含义的主要内容,如果未能解决你的问题,请参考以下文章

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段

flutter/dart 语法点记录

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]

Flutterflutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘(代码片段

flutter解决 dart:html 只支持 flutter_web 其他平台编译报错 Avoid using web-only libraries outside Flutter web(代码片段