avoid_init_to_null
不要明確地將變數初始化為 null
。
此規則從 Dart 2.0 開始提供。
規則集:recommended、flutter
此規則具有可用的快速修復。
詳細資料
#不要明確地將變數初始化為 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。檢視原始碼或回報問題。