《Flutter —语法》

2019-01-19  本文已影响0人  wethereornot
  1. ?. ?? ??= 三者的意思
class Model {
  String name;
  void print() {
    print(this.name);
  }
}

1.1 ?.
下面两种写法效果是一样的

void fun(Model model) {
  model?.print();
} 
void fun(Model model) {
  if (model != null) {
    user.print();
  }
}

1.2 ??
下面两种写法效果一样

  var myName = user?.name ?? "默认名字";  
String myName;
  if (model != null && model.name != null) {
    myName = user.name;
  } else {
    myName = "默认名字";
  } 

1.3 ??=
下面两种写法效果一样

Model init (Model model){  
   var model ??= Model();  
   return model;  
}  
Model init (Model model){   
    if(model == null){  
    model = Model();  
}  
    return model;  
}    
上一篇 下一篇

猜你喜欢

热点阅读