switch for example array switch-statement swift

switch-statement - for - uiswitch swift



caso rápido cayendo a través de (5)

¿Rápido ha caído a través de la declaración? por ejemplo, si hago lo siguiente

var testVar = "hello" var result = 0 switch(testVal) { case "one": result = 1 case "two": result = 1 default: result = 3 }

¿Es posible tener el mismo código ejecutado para el caso "uno" y el caso "dos"?


Aquí hay un ejemplo para usted, fácil de entender:

let value = 0 switch value { case 0: print(0) // print 0 fallthrough case 1: print(1) // print 1 case 2: print(2) // Doesn''t print default: print("default") }

Conclusión: Use fallthrough para ejecutar el siguiente caso (solo uno) cuando el anterior que tiene fallthrough coincida o no.


La palabra clave fallthrough al final de un caso provoca el comportamiento de caída que está buscando y se pueden verificar múltiples valores en un solo caso.


Sí. Puedes hacerlo de la siguiente manera:

var testVal = "hello" var result = 0 switch testVal { case "one", "two": result = 1 default: result = 3 }

Alternativamente, puede usar la palabra clave fallthrough :

var testVal = "hello" var result = 0 switch testVal { case "one": fallthrough case "two": result = 1 default: result = 3 }


case "one", "two": result = 1

No hay declaraciones de interrupción, pero los casos son mucho más flexibles.

Addendum: Como señala Analog File, en realidad hay declaraciones de break en Swift. Todavía están disponibles para su uso en bucles, aunque son innecesarios en las declaraciones de switch , a menos que deba completar un caso vacío, ya que no se permiten los casos vacíos. Por ejemplo: default: break .


var testVar = "hello" switch(testVar) { case "hello": println("hello match number 1") fallthrough case "two": println("two in not hello however the above fallthrough automatically always picks the case following whether there is a match or not! To me this is wrong") default: println("Default") }