avoid_init_to_null
不要将变量显式初始化为 null。
详情
#不要 将变量显式初始化为 null。
如果变量是不可空类型或为 final,则如果在明确初始化之前尝试使用它,Dart 会报告编译错误。如果变量是可空类型且不是 const 或 final,则它会为你隐式初始化为 null。在 Dart 中没有“未初始化内存”的概念,也无需显式将变量初始化为 null 以确保“安全”。添加 = null 是多余且不必要的。
不好的示例
dart
Item? bestDeal(List<Item> cart) {
Item? bestItem = null;
for (final item in cart) {
if (bestItem == null || item.price < bestItem.price) {
bestItem = item;
}
}
return bestItem;
}好的示例
dart
Item? bestDeal(List<Item> cart) {
Item? bestItem;
for (final item in cart) {
if (bestItem == null || item.price < bestItem.price) {
bestItem = item;
}
}
return bestItem;
}启用
#要启用 avoid_init_to_null 规则,请在你的 analysis_options.yaml 文件中的 linter > rules 下添加 avoid_init_to_null
analysis_options.yaml
yaml
linter:
rules:
- avoid_init_to_null如果你使用的是 YAML 映射语法来配置 Linter 规则,请在 linter > rules 下添加 avoid_init_to_null: true
analysis_options.yaml
yaml
linter:
rules:
avoid_init_to_null: true