avoid_init_to_null
不要显式将变量初始化为 null
。
此规则从 Dart 2.0 开始可用。
规则集:recommended, flutter
此规则具有可用的快速修复。
详情
#来自有效的 Dart
不要显式将变量初始化为 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
除非另有说明,否则本网站上的文档反映了 Dart 3.6.0。页面上次更新于 2024-07-03。 查看源代码 或 报告问题。