🥇 Funciones que regresan multiples valores.

🍿 Por qué una función de Go puede retornar multiples valores?

Las funciones en Go pueden retornar multiples valores. Esta opcion es bastante útil pues evita tener que estar pasando otro tipo de estructuras de datos mas complejas, cuando no es necesario.

🍿 Ejemplo de una función que retorna multiples valores en Go.

Supongamos que tenemos una función circulo, que hace el calculo del area y del perimetro de este recibiendo solo el valor del radio.

package main

import "fmt"

const Pi = 3.1416

func circulo(radio float64) (area float64, perimetro float64) {
    area = Pi * radio * radio
    perimetro = 2 * Pi * radio
    return area, perimetro
}

func main() {
    a, p := circulo(8)
    fmt.Println("El area del circulo es: ", a)
    fmt.Println("El perimetro del circulo es: ", p)
}
El area del circulo es:  201.0624
El perimetro del circulo es:  50.2656

🍿 Descripción del ejemplo del uso de funciones que retornan múltiples argumentos.

En un escenario real, se desea que cada función realice solo una tarea, pero el caracter de este ejemplo es solo explicativo.

Hemos añadido a la especificación de la función los valores que retornará func circulo(radio float64) (area float64, perimetro float64), area y perimetro. Y los hemos calculado dentro de la función, para finalmente retornarlos mediante return area, perimetro.

Es importante comentar que si cambiamos la linea de retorno del valor return area, perimetro por solo return, Go automaticamente envia ambas variables en el orden requerido, por lo que es opcional especificarlas en el return.

Uso de funciones. Funciones Variádicas (Variadic Functions).
comments powered by Disqus