目录

no_default_cases

No default cases.

此规则目前处于 experimental 状态,自 Dart 2.9 版本起可用。

详情

#

Switches on enums and enum-like classes should not use a default clause.

Enum-like classes are defined as concrete (non-abstract) classes that have:

  • only private non-factory constructors
  • two or more static const fields whose type is the enclosing class and
  • no subclasses of the class in the defining library

DO define default behavior outside switch statements.

BAD:

dart
  switch (testEnum) {
    case TestEnum.A:
      return '123';
    case TestEnum.B:
      return 'abc';
    default:
      return null;
  }

GOOD:

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