Excepciones vs Valores de Error: C贸mo Elegir una Estrategia

Abre un archivo que no existe en Python y open() lanza un FileNotFoundError que sube por la pila de llamadas hasta salir de tu funci贸n. Haz lo mismo en Go y os.ReadFile te devuelve un valor error junto a un slice de bytes nil. El mismo fallo, dos formas de c贸digo completamente distintas a su alrededor. La diferencia no es cosm茅tica: decide si quien llama puede ignorar el fallo por accidente, y si el compilador se da cuenta cuando lo hace. ...

26 de octubre de 2026 路 8 min 路 1680 palabras 路 SpaghettiCoder

Goroutines y Channels en Go: Gu铆a con Ejemplos

Pon go delante de una llamada a funci贸n y esa funci贸n se ejecuta en concurrencia con el resto del programa, gestionada por el runtime de Go en lugar del sistema operativo. Lanzarla es la parte f谩cil. La dif铆cil es conseguir que dos goroutines se pasen un resultado sin pisarse el estado mutuamente, y de eso se encargan los channels. 驴Qu茅 es una goroutine? Una goroutine es una funci贸n que corre de forma independiente de la que la lanz贸, gestionada por el runtime de Go y no por el sistema operativo. Un thread del sistema operativo reserva un megabyte o m谩s de stack y le cuesta al kernel tiempo real planificarlo. Una goroutine arranca con un stack de unos 2KB que crece seg煤n lo necesita, y el runtime multiplexa muchas goroutines sobre un pu帽ado de threads del sistema operativo. Lanzar miles de ellas es normal. ...

11 de octubre de 2026 路 9 min 路 1806 palabras 路 SpaghettiCoder