- Autor

- Nombre
- Nelson Silva
- Social
Introducción
Aunque Go es conocido por su simplicidad y eficiencia, como todo lenguaje de programación, tiene peculiaridades que pueden ser fuente de errores para los desarrolladores. En este artículo, exploramos algunos de estos errores comunes para ayudarte a evitar trampas en tu código.
- 1. No manejar los errores retornados
- 2. Uso incorrecto de paquetes
- 3. Slices y sus trampas
- 4. Goroutines y cierres
1. No manejar los errores retornados
Un error clásico en Go es ignorar los errores retornados por las funciones.
res, _ := http.Get("https://api.ejemplo.com/data")
Lo correcto sería manejar el error, verificándolo:
res, err := http.Get("https://api.ejemplo.com/data")
if err != nil {
log.Fatalf("Error al obtener datos: %v", err)
}
2. Uso incorrecto de paquetes
Importar paquetes innecesarios o usar paquetes que no son adecuados para la tarea en cuestión son errores comunes.
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println(rand.Intn(100)) // ¡Puede no ser tan aleatorio como imaginas!
}
3. Slices y sus trampas
Una comprensión imprecisa de cómo funcionan los slices en Go puede llevar a comportamientos inesperados.
a := []int{1, 2, 3}
b := a[:2]
b[0] = 42
fmt.Println(a) // [42, 2, 3]
En este ejemplo, b es un slice de a, lo que significa que comparten la misma memoria. Al modificar b, también modificas a.
4. Goroutines y cierres
Al usar goroutines con bucles, es común encontrar comportamientos inesperados debido al uso de cierres.
for i := 0; i < 3; i++ {
go func() {
fmt.Println(i)
}()
}
La salida anterior puede sorprender, ya que puede imprimir el mismo número varias veces.
Conclusión
Go es un lenguaje potente e intuitivo, pero, como todos los lenguajes, tiene sus matices. Al familiarizarte con estos errores comunes, estarás mejor preparado para escribir código Go más robusto y eficaz.