Dart switch


switch语句计算表达式,将表达式的值与case子句匹配,并执行与该case相关的语句。

以下是语法。

switch(variable_expression) {
   case constant_expr1: {
      // statements;
   }
   break;

   case constant_expr2: {
      //statements;
   }
   break;

   default: {
      //statements;  
   }
   break;
}

针对交换机中的所有情况测试 variable_expression 的值。如果变量与其中一种情况匹配,则执行相应的代码块。如果case表达式与variable_expression的值不匹配,则默认块中的代码将关联。

以下规则适用于switch语句

  • switch中可以有任意数量的case语句。
  • case语句只能包含常量。它不能是变量或表达式。
  • variable_expression和常量表达式的数据类型必须匹配。
  • 除非你在每个代码块之后放置一个中断,否则执行会流入下一个块。
  • case表达式必须是唯一的。
  • 默认块是可选的。

switch ... case 语句的流程图如下

switch

示例 - switch...案例

void main() {
 var grade = "A";
 switch(grade) {
    case "A": {  print("Excellent"); }
    break;

    case "B": {  print("Good"); }
    break;

    case "C": {  print("Fair"); }
    break;

    case "D": {  print("Poor"); }
    break;

    default: { print("Invalid choice"); }
    break;
 }
}

该示例根据常量集(A,B,C,D和E)验证变量等级的值,并执行相应的块。如果变量中的值与上面提到的任何常量都不匹配,则将执行默认

成功执行上述代码后,将显示以下 输出

Excellent