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