Nesta edição, uma mistura de projetos que empurram os limites do ecossistema Go: um compilador Go baseado em LLVM com suporte nativo a Python e JavaScript, uma “jail” para módulos Go, e a biblioteca purego que elimina o CGo de vez. Também tem uma jornada de otimização que dobrou o desempenho do scc, uma reflexão sobre por que argumentos de função não são “cores” e dois posts sobre as bordas do sistema de tipos do Go 1.27.
Links
ebitengine/purego — Go chama C sem Cgo
Biblioteca que permite chamar funções C diretamente de Go usando dlopen e dlsym, sem uma linha de código C e com CGO_ENABLED=0. Nasceu para permitir a cross-compilação do Ebitengine para qualquer plataforma, sem precisar de um compilador C instalado, e hoje funciona em Linux, macOS, Windows, iOS, Android e WASM.
xgo-dev/llgo — Go compilado via LLVM
Um compilador alternativo para Go, baseado em LLVM, que expande a linguagem para integração direta com o ecossistema C: importa bibliotecas C/C++, Python (NumPy, PyTorch, pandas) e JavaScript, sem wrappers, e compila para WASM e embedded. Goroutines mapeiam 1:1 para threads do OS, eliminando o overhead de transição Go↔C que torna chamadas C frequentes custosas no compilador padrão.
AkihiroSuda/gomodjail — Sandbox para módulos Go
Ferramenta experimental que isola módulos Go específicos por meio de restrições de syscall . Basta anotar //gomodjail:confined no go.mod e rodar com gomodjail run. O objetivo é mitigar vulnerabilidades de supply chain sem exigir contêineres nem mudanças no código.
Mutually Referencing Type Parameters in Go
Os métodos genéricos do Go 1.27 abrem novos cenários — e novos limites. O post do DoltHub explora o caso de parâmetros de tipo que se referenciam mutuamente, mostrando onde o sistema de tipos ainda tropeça e como contornar as restrições com interfaces e constraints bem escolhidos.
Why Function Arguments Are Not Function Colors
Eu não conhecia o conceito de “funções coloridas”, em que “vermelhas” são as funções assíncronas e “azuis” são as síncronas. Neste post o autor analisa esse conceito interessante no contexto de Go.
Did I Just Get Buster Scrugged?
O scc, um comando que coleta estatísticas de código, estava 2.5x mais lento do que um concorrente, e Ben Boyter usou strace para descobrir o motivo: os.Open no Linux gera 5 syscalls por arquivo (incluindo um epoll_ctl que sempre falha) porque o runtime Go não sabe distinguir arquivos regulares de sockets. Trocando para syscall.Open e adicionar goroutines ao pipeline de stat, o scc ficou mais rápido que o concorrente. Um dos melhores posts de debugging de performance que apareceram na comunidade Go em 2026.
Genkit 1.13: AI Agents com Go
O Genkit for Go chegou à versão 1.13 com mudanças importantes para quem está construindo AI Agents em Go.


