Recursividad

¿Qué es una función recursiva?

Una función recursiva es aquella función que es capaz de invocarse a si misma.

Es importante tener cuidado con las funciones recursivas, si la condición nunca termina por cumplirse, entra en un estado de recursión infinita.

Ejemplo del uso de una función recursiva en Go

En los alpes suizos existe un tipo de cantores llamados yodelers, su canto al cantar en una montaña genera un echo que se repite N veces.

Vamos a construir un ejemplo en el cual el eco de la montaña repita N veces un mensaje.

package main

import "fmt"

func ecoDeLaMontana(mensaje string, iteraciones uint) {
    if iteraciones > 1 {
        ecoDeLaMontana(mensaje, iteraciones-1)
    }
    fmt.Println(mensaje, iteraciones)
}

func main() {
    ecoDeLaMontana("yodelayheehoo", 5)
}
yodelayheehoo 1
yodelayheehoo 2
yodelayheehoo 3
yodelayheehoo 4
yodelayheehoo 5

Descripción del ejemplo del uso de la función recursiva en Go

El ejemplo anterior tiene 3 componentes.

  • La función recursiva ecoDeLaMontana.
  • El numero de iteraciones.
  • La expresión a evaluar.

Tabla de simulación del ejemplo de la función recursiva en Go

profundidad iteraciones iteraciones > 1
1 5 true
2 4 true
3 3 true
4 2 true
5 1 false

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios