En el lenguaje Go, puede devolver múltiples valores de una función , utilizando la declaración de devolución. O, en otras palabras, en función, una sola declaración de devolución puede devolver múltiples valores. El tipo de los valores devueltos es similar al tipo del parámetro definido en la lista de parámetros.
Sintaxis:
func function_name(parameter_list)(return_type_list){ // code... }
Aquí,
- function_name: Es el nombre de la función.
- lista-parámetros: Contiene el nombre y el tipo de los parámetros de la función.
- return_type_list: Es opcional y contiene los tipos de los valores que devuelve la función. Si está utilizando return_type en su función, entonces es necesario usar una declaración de devolución en su función.
Ejemplo:
// Go program to illustrate how a // function return multiple values package main import "fmt" // myfunc return 3 values of int type func myfunc(p, q int)(int, int, int ){ return p - q, p * q, p + q } // Main Method func main() { // The return values are assigned into // three different variables var myvar1, myvar2, myvar3 = myfunc(4, 2) // Display the values fmt.Printf("Result is: %d", myvar1 ) fmt.Printf("\nResult is: %d", myvar2) fmt.Printf("\nResult is: %d", myvar3) }
Producción:
Result is: 2 Result is: 8 Result is: 6
Dar nombre a los valores devueltos
En el lenguaje Go, puede proporcionar nombres a los valores devueltos. Y también puede usar esos nombres de variables en su código. No es necesario escribir estos nombres con una declaración de devolución porque el compilador de Go comprenderá automáticamente que estas variables deben devolverse. Y este tipo de devolución se conoce como devolución desnuda. El simple retorno reduce la duplicación en su programa.
Sintaxis:
func function_name(para1, para2 int)(name1 int, name2 int){ // code... } or func function_name(para1, para2 int)(name1, name2 int){ // code... }
Aquí, nombre1 y nombre2 es el nombre del valor devuelto y para1 y para2 son los parámetros de la función.
Ejemplo:
// Go program to illustrate how to // give names to the return values package main import "fmt" // myfunc return 2 values of int type // here, the return value name // is rectangle and square func myfunc(p, q int)( rectangle int, square int ){ rectangle = p*q square = p*p return } func main() { // The return values are assigned into // two different variables var area1, area2 = myfunc(2, 4) // Display the values fmt.Printf("Area of the rectangle is: %d", area1 ) fmt.Printf("\nArea of the square is: %d", area2) }
Producción:
Area of the rectangle is: 8 Area of the square is: 4
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA