Swift Sentencia switch

Swift 条件语句Sentencias condicionales en Swift

switchLa sentencia permite probar si una variable es igual a múltiples valores. En Swift, una vez que una sentencia case coincide, toda la sentencia switch completa su ejecución.


Sintaxis

Sintaxis de la sentencia switch en Swift:

switch expression {
   case expression1  :
      statement(s)
      fallthrough /* 可选 */
   case expression2, expression3  :
      statement(s)
      fallthrough /* 可选 */
  
   default : /* 可选 */
      statement(s);
}

Generalmente, la sentencia fallthrough no se utiliza en la sentencia switch.

Aquí debemos tener en cuenta que si no se utiliza la sentencia fallthrough en la sentencia casefallthroughdespués de ejecutar la sentencia case actual, switch termina y el flujo de control saltará a la siguiente línea después de la sentencia switch.

Si se utiliza la sentencia fallthroughfallthroughcontinuará ejecutando las sentencias case o default posteriores, sin importar si la condición se cumple o no.

Nota:En la mayoría de los lenguajes, en el bloque de la sentencia switch, case debe ir seguido de break; de lo contrario, las sentencias posteriores a case se ejecutarán secuencialmente. En Swift, por defecto no se continúa ejecutando y switch también termina. Si quieres que en Swift las sentencias posteriores a case se ejecuten en orden, necesitas usar la sentencia fallthrough.

Ejemplo 1

El siguiente ejemplo no usa la sentencia fallthrough:

import Cocoa

var index = 10

switch index {
   case 100  :
      print( "index 的值为 100")
   case 10,15  :
      print( "index 的值为 10 o  15")
   case 5  :
      print( "index 的值为 5")
   default :
      print( "默认 case")
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

index 的值为 10 o  15

Ejemplo 2

El siguiente ejemplo usa la sentencia fallthrough:

import Cocoa

var index = 10

switch index {
   case 100  :
      print( "index 的值为 100")
      fallthrough
   case 10,15  :
      print( "index 的值为 10 o  15")
      fallthrough
   case 5  :
      print( "index 的值为 5")
   default :
      print( "默认 case")
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

index 的值为 10 o  15
index 的值为 5

Swift 条件语句Sentencias condicionales en Swift

Otras extensiones