Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Valores de Retorno de las Funciones | Funciones
Introducción a Golang

bookValores de Retorno de las Funciones

La capacidad de pasar datos a las funciones es valiosa, pero también es igualmente ventajoso recuperar datos de las funciones. Aquí es donde la palabra clave return se vuelve esencial.

La palabra clave return permite que las funciones envíen datos de vuelta al punto del código donde fueron invocadas. Esta es la sintaxis para una función con una declaración return:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned es donde se especifica una expresión o un valor. returned_datatype representa el tipo de dato anticipado para el valor que será retornado. Esto se aclarará con un ejemplo.

El siguiente programa ilustra la implementación de una declaración return mediante una función que calcula y retorna tanto la suma como el producto de dos argumentos enteros dados:

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Tenga en cuenta que dentro de la función Println, tenemos myFunc(5, 7), y el programa anterior produce la salida 47, que resulta de los cálculos realizados por la función myFunc(). Esto demuestra que la instrucción return transmite datos específicos de regreso al lugar donde se invocó la función. Además, podemos almacenar los datos devueltos en una variable:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Nota

Una función no requiere parámetros para incluir una instrucción return.

Una función no puede contener ningún código después de una instrucción return, y normalmente, Go no permite múltiples instrucciones return:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

No obstante, es posible emplear la instrucción return dentro de estructuras condicionales para devolver valores selectivamente:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

¿Cuál será la salida del siguiente programa?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 1.96

bookValores de Retorno de las Funciones

Desliza para mostrar el menú

La capacidad de pasar datos a las funciones es valiosa, pero también es igualmente ventajoso recuperar datos de las funciones. Aquí es donde la palabra clave return se vuelve esencial.

La palabra clave return permite que las funciones envíen datos de vuelta al punto del código donde fueron invocadas. Esta es la sintaxis para una función con una declaración return:

func functionName(param_1 datatype, param_2 datatype, ...) return_datatype {
      // Code
     
      return data_to_be_returned
}

data_to_be_returned es donde se especifica una expresión o un valor. returned_datatype representa el tipo de dato anticipado para el valor que será retornado. Esto se aclarará con un ejemplo.

El siguiente programa ilustra la implementación de una declaración return mediante una función que calcula y retorna tanto la suma como el producto de dos argumentos enteros dados:

index.go

index.go

copy
1234567891011121314
package main import "fmt" func myFunc(value_1 int, value_2 int) int { var sum int = value_1 + value_2 var prod int = value_1 * value_2 var result int = sum + prod return result } func main() { fmt.Println(myFunc(5, 7)) }

Tenga en cuenta que dentro de la función Println, tenemos myFunc(5, 7), y el programa anterior produce la salida 47, que resulta de los cálculos realizados por la función myFunc(). Esto demuestra que la instrucción return transmite datos específicos de regreso al lugar donde se invocó la función. Además, podemos almacenar los datos devueltos en una variable:

index.go

index.go

copy
12
var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'

Nota

Una función no requiere parámetros para incluir una instrucción return.

Una función no puede contener ningún código después de una instrucción return, y normalmente, Go no permite múltiples instrucciones return:

index.go

index.go

copy
1234567891011
// Function exits after the first return statement it encounters func exampleOne() int { return 1 return 2 // Will be ignored } // There cannot be any code after a return statement func exampleTwo() int { return 1 fmt.Println() // Error here }

No obstante, es posible emplear la instrucción return dentro de estructuras condicionales para devolver valores selectivamente:

index.go

index.go

copy
123456789101112131415
package main import "fmt" func myFunc() string { if(1 > 2) { return "1 is greater than 2" } else { return "2 is greater than 1" } } func main() { fmt.Println(myFunc()) }
question mark

¿Cuál será la salida del siguiente programa?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4
some-alt