prefer_is_empty
對 Iterable
和 Map
使用 isEmpty
。
詳細資訊
#請「勿」使用 length
來檢查集合是否為空。
Iterable
契約並未要求集合知道其長度或能夠以常數時間提供長度。僅為了查看集合是否包含任何內容而呼叫 length
可能會非常慢。
相反地,有更快且更易讀的 getter:isEmpty
和 isNotEmpty
。使用不需要您否定結果的那個。
不良範例
dart
if (lunchBox.length == 0) return 'so hungry...';
if (words.length != 0) return words.join(' ');
良好範例
dart
if (lunchBox.isEmpty) return 'so hungry...';
if (words.isNotEmpty) return words.join(' ');
啟用
#若要啟用 prefer_is_empty
規則,請在您的 analysis_options.yaml
檔案中,於 linter > rules 下新增 prefer_is_empty
analysis_options.yaml
yaml
linter:
rules:
- prefer_is_empty
如果您改用 YAML map 語法來設定 linter 規則,請在 linter > rules 下新增 prefer_is_empty: true
analysis_options.yaml
yaml
linter:
rules:
prefer_is_empty: true
除非另有說明,否則本網站上的文件反映的是 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。 檢視原始碼 或 回報問題。