Cómo crear y usar funciones personalizadas en Go
Clase 12 de 28 • Curso de Go
Contenido del curso
- 8

Uso de la sentencia switch en Go para selección condicional
07:16 - 9

Declaración y uso básico de arreglos en Go
06:56 - 10

Creación y uso de slices dinámicos en Go
08:26 - 11

Mapas en Go: creación, acceso y manipulación de datos clave-valor
09:38 - 12

Cómo crear y usar funciones personalizadas en Go
07:09 - 13

Funciones con múltiples valores de retorno en Go
07:43 - 14

Funciones variádicas en Go para múltiples parámetros
07:11 - 15

Funciones recursivas en Go para cálculos matemáticos
06:12 - 16

Punteros en Go para optimizar rendimiento del sistema
05:20 - 17

Runas y caracteres Unicode en Go: optimización de memoria
06:41 - 18

Declaración y uso de estructuras de datos en Go
09:07 - 19

Implementación de enumeradores en Go para controlar estados
09:32
- 20

Errores personalizados en Go para mejor depuración
08:25 - 21

Go routines y channels: programación asíncrona en Go
10:53 - 22

Operador select para controlar Go routines y canales en Go
06:44 - 23

Implementación de timeouts en Go con select y time.After
05:50 - 24

Implementación práctica de workers con canales y goroutines en Go
09:43
El manejo de funciones o métodos en Go es esencial para simplificar tareas repetitivas y mantener un código organizado. Una función es una sentencia específica que ejecuta acciones encapsuladas entre paréntesis. Por ejemplo, la función len() evalúa la longitud de un arreglo.
¿Qué es exactamente una función en Go?
Una función en Go está compuesta por la palabra reservada func, seguida de un nombre descriptivo y parámetros entre paréntesis. Los parámetros especifican el tipo de dato requerido, permitiendo múltiples variables del mismo o diferentes tipos.
Por ejemplo:
func suma(numero1 int, numero2 int) int {
resultado := numero1 + numero2
return resultado
}
Aquí, la función suma recibe dos parámetros enteros y devuelve un resultado entero después de realizar la operación solicitada.
¿Cómo puedo crear e invocar funciones personalizadas?
Crear múltiples funciones con diferentes objetivos mejora la claridad y reutilización. Puedes declarar funciones con diferentes cantidades de parámetros.
Ejemplo una función que suma tres números:
func sumaLarga(numero1, numero2, numero3 int) int {
resultado := numero1 + numero2 + numero3
return resultado
}
Invocas estas funciones en tu función principal main, pasando los parámetros necesarios:
func main() {
var numero1, numero2, numero3 int
fmt.Print("Ingresa el primer número: ")
fmt.Scanln(&numero1)
fmt.Print("Ingresa el segundo número: ")
fmt.Scanln(&numero2)
fmt.Print("Ingresa el tercer número: ")
fmt.Scanln(&numero3)
resultado := suma(numero1, numero2)
fmt.Println("La suma de los dos números es", resultado)
resultadoLargo := sumaLarga(numero1, numero2, numero3)
fmt.Println("La suma de los tres números es", resultadoLargo)
}
Al ejecutar este programa mediante la consola, la aplicación pide a los usuarios ingresar los valores para luego realizar las sumas solicitadas.
¿Cómo puedo evitar errores en mis funciones?
Al construir aplicaciones es habitual enfrentarse a posibles errores. En operaciones como la división, donde puedes dividir por cero, resulta útil evaluar previamente:
if numero2 == 0 {
fmt.Println("Error: no se puede dividir entre cero.")
} else {
resultado := numero1 / numero2
fmt.Println("El resultado de la división es", resultado)
}
Estos controles simples evitan errores críticos y mejoran la robustez del código.
Te invito a practicar creando múltiples funciones como restas, multiplicaciones, divisiones y asegurarte de manejar correctamente posibles errores. ¿Tienes otras funciones que quisieras aprender a programar? Comparte tus dudas en los comentarios.