Retorno de un solo valor
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 55 de 109.
Las funciones pueden devolver valores al código que las llamó. Esto permite que las funciones calculen resultados y los devuelvan.
Para crear una función que devuelva un valor, añade el tipo de retorno después de la lista de parámetros:
func multiply(x int, y int) int {
result := x * y
return result
}
func main() {
product := multiply(4, 5)
fmt.Println("4 × 5 =", product)
}Cuando ejecutas este programa, la salida es:
4 × 5 = 20La palabra clave return envía el valor de vuelta a donde se llamó a la función, y el valor devuelto puede almacenarse en una variable.
Desafío
PrincipianteEn este desafío, practicarás la creación de una función que devuelve un solo valor. Debes completar la función getGreeting que devuelve un mensaje de saludo basado en la hora del día.
La función debe devolver "Good morning" si la hora es antes de las 12, "Good afternoon" si la hora está entre 12 y 17 (inclusive), y "Good evening" en caso contrario.
Hoja de referencia
Las funciones pueden devolver valores usando la palabra clave return. Especifica el tipo de retorno después de la lista de parámetros:
func multiply(x int, y int) int {
result := x * y
return result
}
func main() {
product := multiply(4, 5)
fmt.Println("4 × 5 =", product)
}El valor devuelto puede almacenarse en una variable o usarse directamente.
Pruébalo tú mismo
package main
import "fmt"
// getGreeting devuelve un saludo basado en la hora del día
func getGreeting(hour int) string {
// TODO: Devolver "Good morning" si la hora es menor que 12
// TODO: Devolver "Good afternoon" si la hora está entre 12 y 17 (inclusive)
// TODO: Devolver "Good evening" para todas las demás horas
// Tu código aquí
}
func main() {
// Probar la función con diferentes horas
morningHour := 8
afternoonHour := 15
eveningHour := 20
fmt.Println("At", morningHour, "hours:", getGreeting(morningHour))
fmt.Println("At", afternoonHour, "hours:", getGreeting(afternoonHour))
fmt.Println("At", eveningHour, "hours:", getGreeting(eveningHour))
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones