内容

unnecessary_breaks

当隐含中断时,请勿使用显式 break

此规则从 Dart 3.0 开始可用。

此规则有一个 快速修复 可用。

详细信息

#

仅当您需要在 case 体结束之前中断时,才在非空 switch case 语句中使用 break。Dart 不支持非空 case 的贯穿执行,因此非空 switch case 语句末尾的 break 是不必要的。

错误示例

dart
switch (1) {
  case 1:
    print("one");
    break;
  case 2:
    print("two");
    break;
}

正确示例

dart
switch (1) {
  case 1:
    print("one");
  case 2:
    print("two");
}
dart
switch (1) {
  case 1:
  case 2:
    print("one or two");
}
dart
switch (1) {
  case 1:
    break;
  case 2:
    print("just two");
}

注意:此 lint 仅在语言版本为 3.0 或更高版本的库中报告不必要的中断。在 Dart 2.19 及更低版本中,仍然需要显式中断。

使用

#

要启用 unnecessary_breaks 规则,请在您的 analysis_options.yaml 文件中的 **linter > rules** 下添加 unnecessary_breaks

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_breaks