šŸ„‡ Funciones como argumentos.

šŸæ Que son las funciones como argumentos?

Es posible enviar funciones como argumentos a otras funciones o asociar a una variable. Esto es utilizado en algunos patrones de diseƱo. Para ello cuando se hace referencia a una funciĆ³n, se tiene que utilizar el tipo func. De esta manera es posible invocar una funciĆ³n haciendo referencia a la variable o parametro con el que se asocia.

šŸæ Ejemplo del uso de funciones como argumentos en Go.

package main

import "fmt"

func circulo(radio float64) (area func() float64, perimetro func() float64) {

    area = func() float64 {
        return 3.1416 * radio * radio
    }

    perimetro = func() float64 {
        return 2 * 3.1416 * radio
    }

    return
}

func main() {

    area, perimetro := circulo(10)
    fmt.Println("El area del circulo es", area())
    fmt.Println("El perimetro del circulo es", perimetro())

}
El area del circulo es es:  201.0624
El perimetro del ciruclo es:  50.2656

šŸæ DescripciĆ³n del ejemple de uso de funciones como argumentos.

En el ejemplo anterior hemos convertido area y perimetro en dos funciones y las hemos retornado desde la funciĆ³n cĆ­rculo.

Una ves retornadas las podemos invocar de forma indiscriminada, por lo que el cĆ”lculo de cada uno de ellas puede estar condicionado a la evaluaciĆ³n de una expresiĆ³n lĆ³gica.

Recursividad. Estructuras de Control.
comments powered by Disqus