null_check_on_nullable_type_parameter
不要在可能為空值的類型參數上使用 null
檢查。
此規則自 Dart 2.12 起可用。
規則集:core、recommended、flutter
此規則有可用的快速修復。
詳細資訊
#不要在可能為空值的類型參數上使用 null
檢查。
給定一個具有可空值界限 (例如,Object?
的預設界限) 的泛型類型參數 T
,當使用類型為 T?
的變數時,很容易引入錯誤的 null
檢查。具體來說,T? x;
並且想要斷言 x
已設定為類型 T
的有效值的情況很常見。一個常見的錯誤是使用 x!
執行此操作。這幾乎總是錯誤的,因為如果 T
是一個可空值類型,則 x
可能會有效地持有 null
作為類型 T
的值。
錯誤
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result!;
}
正確
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result as T;
}
用法
#若要啟用 null_check_on_nullable_type_parameter
規則,請在 analysis_options.yaml
檔案中的 linter > rules 下方新增 null_check_on_nullable_type_parameter
analysis_options.yaml
yaml
linter:
rules:
- null_check_on_nullable_type_parameter
除非另有說明,否則此網站上的文件反映的是 Dart 3.6.0。頁面最後更新於 2024-07-03。 檢視原始碼 或回報問題。