定义列表和地图的不同方法(飞镖/扑打)

时间:2020-07-25 20:55:40

标签: flutter dart

Dart允许您在下面编写模式A或模式B,这是最常见的写方法吗?

另外,我应该如何区别使用模式A和B?

// Pattern-A
List<String> list = [];
Map<String, String> map = {};
// Pattern-B
var list = <String>[];
var map = <String, String>{};

1 个答案:

答案 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;
}