內容

no_default_cases

沒有預設情況。

此規則目前為實驗性,自 Dart 2.9 起可用。

詳細資訊

#

針對列舉和類列舉類別的 switch 語句不應使用 default 子句。

類列舉類別定義為具有以下特性的具體(非抽象)類別:

  • 僅有私有的非工廠建構子
  • 兩個或多個靜態常數欄位,其類型為封閉類別,且
  • 在定義程式庫中沒有該類別的子類別

請務必在 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