English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Golang

Sentencias de control de Golang

Funciones & Métodos de Golang

Estructuras de Golang

Cortes & Arreglos de Golang

Cadenas (String) de Golang

Punteros de Golang

Interfaz de Golang

Concurrencia de Golang

Excepciones (Error) de Golang

Otras cosas de Golang

La función de lenguaje Go devuelve múltiples valores

En el lenguaje Go, se permite usar la declaración return para salir de unafuncióndevolver múltiples valores. En otras palabras, en una función, una declaración de retorno puede devolver múltiples valores. Los tipos de los valores de retorno son similares a los tipos de los parámetros definidos en la lista de parámetros.

Sintaxis:

func function_name(parameter_list)(return_type_list){
     // code...
}

aquí,

  • function_name:esfuncióndel nombre.

  • parameter-list:contiene los nombres y tipos de los parámetros de la función.

  • return_type_list:es opcional, contiene los tipos de los valores que devuelve la función. Si se utiliza return_type en la función, se debe utilizar una declaración de retorno.

paquete main
import "fmt"
// myfunc devuelve3valores de tipo int
func myfunc(p, q int) (int, int, int) {
    devolver p - q, p * q, p + q
}
func main() {
    //asignar el valor de retorno a, tres variables diferentes
    var myvar1, myvar2, myvar3 = myfunc(4, 2)
    // mostrar el valor
    fmt.Printf("El resultado es: %d", myvar)1)
    fmt.Printf("\nEl resultado es: %d", myvar)2)
    fmt.Printf("\nEl resultado es: %d", myvar)3)
}

Salida:

El resultado es: 2
El resultado es: 8
El resultado es: 6

Nombrar los valores de retorno

En el lenguaje Go, se permite proporcionar nombres para los valores de retorno. También se puede usar estos nombres en el código. No es necesario escribir estos nombres en una declaración de retorno, porque el compilador de Go entenderá automáticamente que estos nombres deben devolverse. Este tipo de retorno se llama retorno desnudo. El retorno simple reduce la repetición en el programa.

Sintaxis:

func function_name(para1, para2 int)(name1 int, name2 int){
    // code...
}
o
func function_name(para1, para2 int)(name1, name2 int){
   // code...
}

aquí,name1yname2son los nombres de los valores de retorno, mientras que para1y para2son los parámetros de la función.

paquete main
import "fmt"
// myfunc devuelve2valores de tipo int
//Aquí están los nombres de los valores de retorno
//es rectangle and square
func myfunc(p, q int) (rectangle int, square int) {
    rectangle = p * q
    square = p * p
    devolver
}
func main() {
    //asignar el valor de retorno a
    //dos variables diferentes
    var area1, area2 = myfunc(2, 4)
    fmt.Printf("El área del rectángulo es: %d", area)1)
    fmt.Printf("\nEl área del cuadrado es: %d", area)2)
}

Salida:

Área del rectángulo es: 8
Área del cuadrado es: 4