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