Llevamos catorce artículos escribiendo go mod init como un ritual sin explicar el hechizo. Hoy toca: qué es un módulo, qué guardan go.mod y go.sum, y por qué la gestión de dependencias en Go es de las pocas cosas de este mundo que simplemente funciona. Qué es un módulo Un módulo es una colección de […]
LEER MÁS
Los channels son la vía preferida, pero no la única. Hoy completamos la caja de herramientas con el paquete sync para sincronización clásica y con context, el mecanismo estándar para decirle a un ejército de goroutines que se acabó lo que se daba. Dominar el context en Go es media producción. sync.WaitGroup: esperar sin dormir […]
LEER MÁS
Ya tienes goroutines y channels. Hoy los combinamos en los tres patrones de concurrencia que resuelven el 90% de los problemas concurrentes reales. Son los mismos planos que usa la industria, documentados en el blog oficial de Go y en la charla clásica de Rob Pike Go Concurrency Patterns. Pipeline: la cadena de montaje Un […]
LEER MÁS
En el artículo anterior las goroutines volaban cada una a lo suyo y las esperábamos con time.Sleep, que es como sincronizar relojes gritando por la ventana. Hoy llega la herramienta de verdad: los channels en Go, las tuberías tipadas por las que las goroutines se pasan datos y, de regalo, se sincronizan. Channels: enviar, recibir, […]
LEER MÁS