Artículos

  • Generales 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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.