AD

¿Ya dominas lo básico? Un curso estructurado de Swift es la vía rápida para dar el salto.

Ver cursos de Swift en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐦Lecciones de Swift
Lección 12 / 68

Funciones recursivas

En esta lección escribirás una función que se llama a sí misma.

Hacen falta dos piezas: un caso base que corta la cadena, y una llamada a sí misma con un problema más pequeño.

El código de ejemplo calcula el factorial. El caso base es n <= 1.

Sin caso base, el programa se queda sin espacio de pila y se detiene con un fallo. Y hay un límite específico de Swift que conviene conocer: Int tiene 64 bits, así que el factorial de 21 ya se sale del rango. Swift no da la vuelta en silencio como C: detiene el programa con un error de desbordamiento. Es otro caso de la misma filosofía — antes parar que continuar con un número equivocado.

Swift no garantiza la optimización de la recursión de cola, así que para recorridos muy profundos la solución es un bucle con una pila explícita. La recursión brilla en lo que es recursivo por naturaleza: carpetas dentro de carpetas, un JSON anidado, una jerarquía de vistas.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Swift directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)