Artículos
-
Generales
context.Context en Go: cancelación y timeouts entre goroutines
Aprende a coordinar goroutines en Go con context.Context: cancelación manual con WithCancel, límites de tiempo con WithTimeout y WithDeadline, y por qué el contexto va siempre como primer parámetro. Con ejemplos reales de net/http y database/sql.
-
Generales
net/http en Go: crear un servidor HTTP en pocas líneas y ampliarlo
Aprende a usar el paquete net/http de la biblioteca estándar de Go para crear servidores HTTP sin frameworks. HandleFunc, ServeMux, middleware, lectura y escritura de JSON, http.Client y timeouts explicados con ejemplos completos listos para producción.
-
Generales
JSON en Go: Marshal, Unmarshal y struct tags para mapear campos
Aprende a serializar y deserializar JSON en Go con json.Marshal y json.Unmarshal. Cubre struct tags para mapear campos, opciones omitempty y json ignorado, tipos anidados, json.Decoder para peticiones HTTP, tipos personalizados con MarshalJSON y map string interface para claves desconocidas.
-
Generales
io y bufio en Go: leer y escribir ficheros de forma eficiente
Aprende a leer y escribir ficheros en Go con los paquetes os, bufio e io. os.ReadFile, os.WriteFile, bufio.Scanner para leer línea a línea, bufio.Writer con Flush, io.Copy y filepath.Join con ejemplos reales y errores frecuentes.
-
Generales
Testing en Go: go test, tabla de tests y subtests
Aprende a usar el paquete testing de Go: ficheros _test.go, funciones TestXxx, t.Error y t.Fatal, table-driven tests, subtests con t.Run, go test -run y -v, testing HTTP con httptest, t.Helper y TestMain. Con ejemplos prácticos progresivos.
-
Generales
Benchmarks en Go: medir rendimiento con testing.B
Aprende a usar testing.B en Go para medir el rendimiento real de tu código: el bucle b.N, los flags -bench y -benchmem, cómo interpretar ns/op, B/op y allocs/op, ResetTimer para excluir el setup y pprof para profiling detallado. Cuatro ejemplos con comparativas reales.
-
Generales
Generics en Go 1.18+: funciones y tipos genéricos con type constraints
Go 1.18 introdujo los generics en el lenguaje: escribe funciones y tipos que funcionan con varios tipos sin duplicar código ni perder la seguridad del compilador. Aprende constraints como comparable, tipos genéricos, el paquete slices y cuándo elegir generics frente a interfaces.
-
Generales
go vet, gofmt y staticcheck: calidad de código Go desde el terminal
Aprende a usar gofmt, goimports, go vet y staticcheck para mantener tu código Go limpio desde el terminal. Cuatro ejemplos de errores reales detectados, configuración de golangci-lint y cómo añadir un pre-commit hook para automatizarlo todo.
-
Generales
Goroutines vs threads: por qué Go escala mejor en concurrencia
Las goroutines de Go arrancan con apenas 2-8 KB de stack frente a los 1-8 MB fijos de un OS thread. Te explicamos el scheduler M:N, el work stealing y GOMAXPROCS, y por qué puedes lanzar 100.000 goroutines en un portátil sin agotar la memoria, con cuatro ejemplos y métricas reales.
-
Generales
Go vs Rust en 2026: cuándo elegir cada lenguaje para backend y sistemas
Comparativa práctica entre Go y Rust en 2026: cuándo usar cada lenguaje según el tipo de proyecto. Rendimiento, productividad, concurrencia y casos de uso reales para microservicios, sistemas, WebAssembly y latencia crítica.









