Dart04条件语句

Dart 中的条件结构分类如下表中所示:

条件语句描述
if语句if语句由一个布尔表达式后跟一个或多个语句组成。
if…else语句if后面跟一个可选的else块。如果if块测试的布尔表达式求值为false,则执行else块。
else…if语句else...if可用于测试多个条件。
switch…case语句switch语句计算表达式,将表达式的值与case子句匹配,并执行与该case相关的语句。

以下是switch/case语句的语法:

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

   case constant_expr2: { 
      //statements; 
   } 
   break; 

   default: { 
      //statements;  
   }
   break; 
}

针对 switch 语句中的所有 case 测试 variable_expression 的值。如果变量与其中一个 case 匹配,则执行相应的代码块。如果 case 表达式与 variable_expression 的值不匹配,则执行 default 块中的代码。

以下规则适用于 switch 语句:

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

示例:

void main() { 
   var grade = "A"; 
   switch(grade) { 
      case "A": {  print("相当牛逼"); } 
      break; 

      case "B": {  print("厉害"); } 
      break; 

      case "C": {  print("一般"); } 
      break; 

      case "D": {  print("二愣子"); } 
      break; 

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