Valores Devueltos de las Funciones
Poder pasar datos a las funciones es valioso, pero es igualmente ventajoso recuperar datos de las funciones. Aquí es donde la palabra clave return
resulta esencial.
La palabra clave return
permite a las funciones enviar datos de vuelta al punto del código donde fueron invocadas. Esta es la sintaxis de una función con una sentencia return
:
``ir func funcionNombre(param_1 tipo_dato, param_2 tipo_dato, ...) return_tipo_dato { // Código
return tipo_dato
}
En `data_to_be_returned` se especifica una expresión o un valor. El `returned_datatype` representa el tipo de datos previsto para el valor que será devuelto. Esto será más claro a través de un ejemplo.
El siguiente programa ilustra la implementación de una sentencia return
mediante una función que calcula y devuelve tanto la suma como el producto de dos argumentos enteros dados:
index.go
1234567891011121314package 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 sentencia return
devuelve datos específicos al lugar donde se invocó la función. Además, podemos almacenar los datos devueltos en una variable:
index.go
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Nota
Una función no requiere parámetros para incluir una sentencia
return
.
Una función no puede contener ningún código después de una sentencia return, y típicamente, Go no permite múltiples sentencias return:
index.go
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 sentencia return
dentro de estructuras condicionales para devolver valores de forma selectiva:
index.go
123456789101112131415package 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()) }
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 1.96
Valores Devueltos de las Funciones
Desliza para mostrar el menú
Poder pasar datos a las funciones es valioso, pero es igualmente ventajoso recuperar datos de las funciones. Aquí es donde la palabra clave return
resulta esencial.
La palabra clave return
permite a las funciones enviar datos de vuelta al punto del código donde fueron invocadas. Esta es la sintaxis de una función con una sentencia return
:
``ir func funcionNombre(param_1 tipo_dato, param_2 tipo_dato, ...) return_tipo_dato { // Código
return tipo_dato
}
En `data_to_be_returned` se especifica una expresión o un valor. El `returned_datatype` representa el tipo de datos previsto para el valor que será devuelto. Esto será más claro a través de un ejemplo.
El siguiente programa ilustra la implementación de una sentencia return
mediante una función que calcula y devuelve tanto la suma como el producto de dos argumentos enteros dados:
index.go
1234567891011121314package 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 sentencia return
devuelve datos específicos al lugar donde se invocó la función. Además, podemos almacenar los datos devueltos en una variable:
index.go
12var returnedValue int = myFunc(5, 7) fmt.Println(returnedValue) // Outputs '47'
Nota
Una función no requiere parámetros para incluir una sentencia
return
.
Una función no puede contener ningún código después de una sentencia return, y típicamente, Go no permite múltiples sentencias return:
index.go
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 sentencia return
dentro de estructuras condicionales para devolver valores de forma selectiva:
index.go
123456789101112131415package 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()) }
¡Gracias por tus comentarios!