Dart允许您在下面编写模式A或模式B,这是最常见的写方法吗?
另外,我应该如何区别使用模式A和B?
// Pattern-A
List<String> list = [];
Map<String, String> map = {};
// Pattern-B
var list = <String>[];
var map = <String, String>{};
答案 0 :(得分:1)
根据Effective Dart的官方建议是将var
/ final
用于 local 初始化变量
注释已初始化的局部变量的AVOID类型。
Linter规则:omit_local_variable_types局部变量,特别是在现代的代码中,函数往往很小,局部变量的作用域很小。省略类型会使读者的注意力集中在更重要的变量名称及其初始值上。
DO:
List<List<Ingredient>> possibleDesserts(Set<Ingredient> pantry) { var desserts = <List<Ingredient>>[]; ... return desserts; }
避免:
List<List<Ingredient>> possibleDesserts(Set<Ingredient> pantry) { List<Ingredient> desserts = <List<Ingredient>>[]; ... return desserts; }