Artículos
-
Generales
Go Modules: go.mod, go.sum y gestión de dependencias en 2026
Aprende a gestionar dependencias en Go con el sistema de módulos: go.mod, go.sum, go get y go mod tidy. Versiones principales, directiva replace, workspaces con go.work y configuración de repositorios privados con GOPRIVATE.
-
Generales
Goroutines en Go: lanzar tareas concurrentes con go y cómo funcionan
Las goroutines son funciones que Go ejecuta de forma concurrente con la palabra clave go. Aprende cómo funciona el scheduling M:N, por qué puedes lanzar miles sin problema, qué son las race conditions y cómo detectarlas con go run -race.
-
Generales
Canales en Go: enviar, recibir, close y canales direccionales
Aprende a usar canales en Go (chan): crear con make, enviar y recibir valores, buffered channels, cerrar con close(), recorrer con range, canales unidireccionales y el patrón pipeline con ejemplos reales.
-
Generales
select en Go: esperar en múltiples canales y el caso por defecto
El select en Go bloquea hasta que uno de sus canales está listo y ejecuta ese case. Aprende a usar el case default para no bloquear, timeout con time.After, fan-in para combinar canales, done channel para cancelar goroutines y cómo manejar la prioridad entre cases.
-
Generales
sync.WaitGroup en Go: esperar a que terminen todas las goroutines
sync.WaitGroup es la forma estándar de esperar a que un grupo de goroutines termine en Go: Add para fijar el contador, Done en cada goroutine y Wait para bloquear hasta cero. Incluye el error del Add dentro de la goroutine, fan-out, comparativa con canales y errgroup con manejo de errores.
-
Generales
sync.Mutex y RWMutex en Go: proteger datos compartidos entre goroutines
Aprende a proteger datos compartidos entre goroutines con sync.Mutex y RWMutex en Go. Cubre Lock y Unlock, defer para evitar deadlocks, lectores simultáneos con RWMutex, sync.Once para inicialización thread-safe y operaciones atómicas con sync/atomic.
-
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.









