La palabra puntero provoca sudores fríos a quien tocó C en la carrera y desconcierto a quien viene de Python o JS, donde todo es referencia sin que nadie lo diga. Los punteros en Go son la versión domesticada: el poder de elegir, sin aritmética ni segfaults por deporte. La mecánica: & y * Dos […]
LEER MÁS
Todo lo anterior era el calentamiento. La concurrencia en Go es el motivo por el que el lenguaje existe y por el que probablemente estás leyendo esta serie. Y empieza con dos letras: go. Una goroutine es una función que vuela sola Pon go delante de cualquier llamada y esa función se ejecuta de forma […]
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
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