Funciones que regresan múltiples valores

¿Por qué una función de Go puede retornar múltiples valores?

Las funciones en Go pueden retornar múltiples valores. Esta opción 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 múltiples valores en Go

Supongamos que tenemos una función circulo, que hace el calculo del área y del perímetro 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 carácter 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 automáticamente envía ambas variables en el orden requerido, por lo que es opcional especificarlas en el return.

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios