En este artículo, aprenderá a utilizar la instrucción break para transferir el control del programa.
Cuando esté trabajando con bucles o declaraciones condicionales, es posible que deba omitir algunas declaraciones dentro del bucle o terminar el bucle inmediatamente sin verificar la expresión de prueba
En tales casos, se utilizan sentencias break y continue. Aprenderá sobre la declaración de continuación en el siguiente capítulo.
La sentencia break detiene la ejecución de un bucle o una sentencia de cambio. Luego salta a la siguiente instrucción que sigue a la instrucción de bucle o cambio.
La sintaxis de una declaración de ruptura es:
descanso
¿Cómo funciona la declaración de ruptura?
Ejemplo 1: instrucción Swift break en el bucle for
for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("The end")
Cuando ejecute el programa, la salida será:
i = 1 i = 2 i = 3 El final
En el programa anterior, la secuencia sobre la que se itera es un rango de 1 a 5.
El valor de i se establece en el primer número del rango (1) y se actualiza al siguiente número del rango en cada iteración.
El bucle también contiene una instrucción if con expresión i == 4
. La expresión cuando se evalúa como verdadera (en la cuarta iteración) ejecuta la break
declaración y el bucle for-in termina.
Luego salta fuera del bucle para imprimir El final .
Ejemplo 2: instrucción Swift break en el bucle while
var currentLevel:Int = 1, finalLevel:Int = 2 var isLifeAvailable = true while (isLifeAvailable) ( if currentLevel> finalLevel ( print("Game Completed. No level remaining") break ) //play game and go to next level currentLevel += 1 print("next level") ) print("outside of while loop")
Cuando ejecute el programa, la salida será:
siguiente nivel siguiente nivel Juego completado. No queda nivel fuera del bucle while
En el programa anterior, la expresión de prueba del ciclo while es siempre true
.
Cuando currentLevel es mayor que finalLevel, se ejecuta la break
instrucción dentro del bloque if. Luego, el programa rompe (termina) el ciclo while y ejecuta las declaraciones después del ciclo, es decir print("outside of while loop")
…
Ejemplo 3: declaración de ruptura rápida con bucles anidados
for j in 1… 2 ( for i in 1… 5 ( if i == 4 ( break ) print("i = (i)") ) print("j = (j)") )
Cuando ejecute el programa, la salida será:
yo = 1 yo = 2 yo = 3 j = 1 yo = 1 yo = 2 yo = 3 j = 2
En el programa anterior, la break
instrucción dentro de la if i == 4
única termina la ejecución del bucle interno for i in 1… 5
. Sin embargo, continúa la ejecución del ciclo externo for j in 1… 2
.
Pero, ¿qué break
pasa si también quieres el bucle exterior for j in 1… 2
? Para eso, usamos declaraciones etiquetadas en Swift.
Declaración etiquetada con descanso
Las declaraciones que tienen prefijos en el formulario (etiqueta: Instrucción) se denominan instrucción etiquetada. La etiqueta es un identificador al que puede hacer referencia más adelante en las declaraciones de interrupción o continuación. Para obtener más información sobre declaraciones etiquetadas, visite declaración etiquetada Swift.
¿Cómo funciona la declaración etiquetada con descanso?
Aquí, la etiqueta es un identificador. Cuando se break
ejecuta la instrucción, termina los bucles dentro de la etiqueta y el programa salta a la instrucción que sigue inmediatamente a la instrucción etiquetada.
Ejemplo 4: Declaración etiquetada con interrupción
outerloop: for j in 1… 2( innerloop: for i in 1… 5 ( if i == 4 ( break outerloop ) print("i = (i)") ) print("j = (j)") )
Cuando ejecute el programa, la salida será:
yo = 1 yo = 2 yo = 3
En el programa anterior, hay dos declaraciones etiquetadas outerloop: for j in 1… 2
y innerloop: for i in 1… 5
.
Los nombres de las etiquetas bucle externo e interno se pueden usar con la break
declaración.
La declaración break outerloop
termina ambos bucles y finaliza el programa.
Si está familiarizado con otro lenguaje de programación como C, C ++, Java, etc., la break
instrucción se utiliza para terminar la instrucción de cambio. Pero en Wwift, la instrucción switch finaliza su ejecución tan pronto como se completa el primer caso de switch coincidente. Por lo tanto, es opcional agregar ruptura en la caja del interruptor en Swift. Para obtener más información, visite Swift Switch Statement.