no_default_cases
無預設 case。
詳細資訊
#列舉和類列舉類別的 switch 陳述式不應使用 default
子句。
類列舉類別定義為具體的(非抽象)類別,具有
- 僅限私有非 Factory 建構式
- 兩個或多個靜態常數字段,其類型為封閉類別,以及
- 在定義函式庫中沒有該類別的子類別
務必在 switch 陳述式之外定義預設行為。
不良範例
dart
switch (testEnum) {
case TestEnum.A:
return '123';
case TestEnum.B:
return 'abc';
default:
return null;
}
良好範例
dart
switch (testEnum) {
case TestEnum.A:
return '123';
case TestEnum.B:
return 'abc';
}
// Default here.
return null;
啟用
#若要啟用 no_default_cases
規則,請在您的 analysis_options.yaml
檔案中的 linter > rules 下新增 no_default_cases
analysis_options.yaml
yaml
linter:
rules:
- no_default_cases
如果您改用 YAML 對應語法來設定 linter 規則,請在 linter > rules 下新增 no_default_cases: true
analysis_options.yaml
yaml
linter:
rules:
no_default_cases: true
除非另有說明,否則本網站文件內容反映 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。檢視原始碼 或 回報問題。