“switch”语句中的“break”有什么好处(Dart 语言)?

Oma*_*zam 1 break switch-statement dart

当我写这段代码时

void main() {
  var age = 18;

  switch(age){
    case 18:
      print("Age is 18");
    case 22:
      print("Age is 22");
    default:
      print("Default");
  }
}
Run Code Online (Sandbox Code Playgroud)

它给了我这个输出 Age is 18 ,当我添加break语句时,没有区别,默认块在两种情况下都不会运行,那么break语句到底有什么好处?

JPS*_*JPS 7

根据 Dart 文档,如果所有 case 语句都有主体,则不需要在 switch 语句中使用中断。因此对于下面的内容,break语句将不起作用。

void main() {
  var age = 18;

  switch(age){
    case 18:
      print("Age is 18");
    case 22:
      print("Age is 22");
    default:
      print("Default");
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果您有一个带有空正文的 case 语句,并且没有中断,则它将落入下一个有中断的语句(如果有)。例如,下面的代码将打印“Age is 22”。

var age = 18;

switch(age){
  case 18:      
  case 22:
    print("Age is 22");
  default:
    print("Default");
}
Run Code Online (Sandbox Code Playgroud)

以下内容不会打印任何内容。

var age = 18;

switch(age){
  case 18:
    break;
  case 22:
    print("Age is 22");
  default:
    print("Default");
}
Run Code Online (Sandbox Code Playgroud)