Continue
Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 46 de 86.
Mientras que break sale de un bucle por completo, a veces solo quieres omitir la iteración actual y pasar a la siguiente. La sentencia continue hace exactamente eso.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// Salida: 1, 2, 4, 5Cuando number es igual a 3, la sentencia continue omite el resto de esa iteración. El bucle no se detiene; simplemente salta al siguiente valor. Observa que el 3 falta en la salida, pero el 4 y el 5 se siguen imprimiendo.
Esto es útil cuando quieres filtrar ciertos valores sin detener el bucle completo. Por ejemplo, imprimir solo números pares:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// Salida: 2, 4, 6La diferencia clave: break detiene el bucle por completo, mientras que continue solo salta a la siguiente iteración.
Desafío
FácilEscribe una función sumExcludingMultiples que reciba limit y skip y devuelva la suma de todos los números del 1 al limit, excluyendo cualquier número que sea múltiplo de skip.
Utiliza un bucle con continue para omitir los múltiplos del número dado mientras acumulas la suma de todos los demás valores.
Lógica:
- Iterar a través de los números del 1 al
limit - Si el número actual es un múltiplo de
skip, utilizacontinuepara omitirlo - De lo contrario, añade el número al total acumulado
- Devuelve la suma final
Parámetros:
limit(Int): El límite superior del rango (inclusive)skip(Int): Los números divisibles por este valor deben ser omitidos
Devuelve: La suma de todos los números del 1 al limit que no son múltiplos de skip (Int)
Por ejemplo, si limit es 10 y skip es 3, la función omite 3, 6 y 9, por lo que devuelve 1 + 2 + 4 + 5 + 7 + 8 + 10 = 37.
Hoja de referencia
La sentencia continue omite la iteración actual de un bucle y pasa a la siguiente, sin salir del bucle por completo.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// Salida: 1, 2, 4, 5Cuando se cumple la condición, continue omite el código restante en esa iteración y salta al siguiente valor.
Ejemplo filtrando números pares:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// Salida: 2, 4, 6Diferencia clave: break sale del bucle por completo, mientras que continue solo salta a la siguiente iteración.
Pruébalo tú mismo
func sumExcludingMultiples(limit: Int, skip: Int) -> Int {
// Escribe el código aquí
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - Inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica