avoid_init_to_null
不要將變數明確初始化為 null
。
詳細資訊
#請勿將變數明確初始化為 null
。
如果變數具有不可為 null 的類型或為 final
,則當您嘗試在明確初始化之前使用它時,Dart 會報告編譯錯誤。如果變數可為 null 且不是 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
除非另有說明,否則本網站上的文件反映的是 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。 檢視原始碼 或回報問題。