AD

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

Ver cursos de Go en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐹Lecciones de Go
Lección 12 / 68

Funciones recursivas

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

Hacen falta dos cosas: un caso base que detenga la recursión y una llamada a sí misma con un problema más pequeño.

El código de ejemplo calcula un factorial deteniéndose al llegar a 1.

Go tiene aquí una ventaja poco conocida: la pila de una goroutine crece dinámicamente. Empieza en unos pocos kilobytes y se amplía según hace falta, así que la recursión profunda aguanta mucho más que en Java o C. Aun así hay un límite, y al alcanzarlo el programa termina con un mensaje de desbordamiento.

La recursión se reserva para estructuras recursivas — árboles, JSON anidado, directorios — y para el resto se prefiere un bucle. Go tampoco optimiza la llamada final, así que no hay forma de convertirla automáticamente.

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

🧪 Este sitio no puede compilar ni ejecutar Go 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)