Swift Fallthrough语句
Swift 4中的switch语句在匹配到第一个case后会立即执行,并不会像C和C++编程语言一样继续执行后续的case。
在C和C++中,switch语句的通用语法如下所示:
switch(expression){
case constant-expression :
statement(s);
break; /* optional */
case constant-expression :
statement(s);
break; /* optional */
/* you can have any number of case statements */
default : /* Optional */
statement(s);
}
在这里,我们需要使用 break 语句来退出一个case语句,否则执行控制流将继续执行下面匹配的case语句。
语法
Swift 4中switch语句的通用语法如下:
switch expression {
case expression1 :
statement(s)
fallthrough /* optional */
case expression2, expression3 :
statement(s)
fallthrough /* optional */
default : /* Optional */
statement(s);
}
如果我们不使用 fallthrough 语句,那么在执行匹配的 case 语句后,程序将跳出 switch 语句。我们将使用以下两个示例来清晰地说明其功能。
示例1
以下示例显示了如何在 Swift 4 编程中使用 switch 语句 without fallthrough 。
var index = 10
switch index {
case 100 :
print( "Value of index is 100")
case 10,15 :
print( "Value of index is either 10 or 15")
case 5 :
print( "Value of index is 5")
default :
print( "default case")
}
当上述代码被编译和执行时,会产生以下结果−
Value of index is either 10 or 15
示例2
以下示例展示了如何在Swift 4编程中使用switch语句 with fallthrough −
var index = 10
switch index {
case 100 :
print( "Value of index is 100")
fallthrough
case 10,15 :
print( "Value of index is either 10 or 15")
fallthrough
case 5 :
print( "Value of index is 5")
default :
print( "default case")
}
当上述代码被编译和执行时,它产生以下结果−
Value of index is either 10 or 15
Value of index is 5