Comprendiendo las funciones
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 51 de 109.
Las funciones son bloques de código reutilizables que realizan tareas específicas. Ayudan a organizar el código y a evitar la repetición.
Vamos a crear una función simple que sume dos números:
func add(x int, y int) int {
return x + y
}
func main() {
result := add(5, 3)
fmt.Println("5 + 3 =", result)
}Después de ejecutar este código, el número 8 se mostrará en la pantalla como resultado de sumar 5 y 3:
5 + 3 = 8Analicemos cómo definir una función:
Primero, declaramos la función con un nombre y parámetros:
func add(x int, y int) int {Esto crea una función llamada add que toma dos parámetros enteros y devuelve un valor entero.
A continuación, escribamos el cuerpo de la función que realiza el cálculo:
return x + yEsta sencilla línea suma los dos parámetros y devuelve el resultado a dondequiera que se haya llamado a la función.
Ahora, veamos cómo llamar a nuestra función y usar el resultado:
result := add(5, 3)Esta línea llama a nuestra función add con los valores 5 y 3, y almacena el valor devuelto (8) en una nueva variable llamada result.
Finalmente, vamos a mostrar el resultado al usuario:
fmt.Println("5 + 3 =", result)Esto imprime el texto "5 + 3 =" seguido por el valor almacenado en result, que es 8.
Desafío
PrincipianteEn este desafío, practicarás la creación y el uso de una función simple en Go.
Tu tarea es completar la función greet que toma un nombre como parámetro y devuelve un mensaje de saludo.
La función debe devolver una cadena con el formato: "Hello, " + name + "!"
La función debe devolver una cadena con el formato: "Hello, Gopher!"
Hoja de referencia
Las funciones son bloques de código reutilizables que realizan tareas específicas. Ayudan a organizar el código y a evitar la repetición.
Sintaxis de la función:
func functionName(parameter type) returnType {
// cuerpo de la función
return value
}Ejemplo de una función que suma dos números:
func add(x int, y int) int {
return x + y
}Llamar a una función y almacenar el resultado:
result := add(5, 3)
fmt.Println("5 + 3 =", result) // Salida: 5 + 3 = 8Pruébalo tú mismo
package main
import "fmt"
// TODO: Completa la función greet que toma un parámetro name
// y devuelve una cadena de saludo en el formato: "Hello, " + name + "!"
// Ejemplo: si name es "Gopher", devuelve "Hello, Gopher!"
func greet(name string) string {
// Tu código aquí
}
func main() {
// Prueba la función con un nombre predefinido
name := "Gopher"
message := greet(name)
fmt.Println(message)
// Salida esperada: Hello, Gopher!
}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