Función que devuelve valores múltiples en el lenguaje Go

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *