Dart 编程 - Switch Case 语句

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

以下是语法。

switch(variable_expression) { 
   case constant_expr1: { 
      // 语句; 
   } 
   break; 
  
   case constant_expr2: { 
      //语句; 
   } 
   break; 
      
   default: { 
      //语句;  
   }
   break; 
} 

将根据 switch 中的所有情况测试 variable_expression 的值。如果变量与其中一个情况匹配,则执行相应的代码块。如果没有 case 表达式与 variable_expression 的值匹配,则将关联默认块内的代码。

以下规则适用于 switch 语句 −

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

switch…case 语句的流程图如下 −

Switch Case

示例 - switch…case

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)验证变量 grade 的值,并执行相应的块。如果变量中的值与上述任何常量都不匹配,则将执行默认块。

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

Excellent

dart_programming_decision_making.html