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 方法改為隱式的了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM