We build fast, honest Go tools in the open: networking, storage, runtimes and developer tooling. Your next commit belongs here.

- Repositories
- 103
- GitHub stars
- 723
- Articles
- 42
- Languages
- 23
Join in three steps
No sign-up. Everything happens on GitHub.
Pick a project
Find a repository that matches what you love to build, from relays to databases.
GoOpen an issue or PR
Report a bug, propose an idea or send a fix. Small pull requests are welcome.
GoWrite for the blog
Share what you learned. Every post is translated into 20+ languages automatically.
GoProjects looking for you
Our most starred repositories. Pick one and say hi.
Publishes localhost services to the agentic web through self-hostable, trustless relays.
Human and machine friendly speedy open source coding harness. Our defaults. Your agent. dal is a minimal, pluggable coding agent; dalgona adds opinionated batteries. Make either yours with Starlark plugins, written by you or your agent.
Independent bitcoin full node in Rust
sites/artifacts alternative
Randflake ID: a distributed, uniform, unpredictable, unique random ID generator.
Golang implementation of an x402 payment facilitator
From the blog
Deep dives written by GoSuda members.

Repensando o Monorepo Git: Uma Arquitetura Nativa de CAS para Humanos e Agentes de Codificação
Como construir um monorepo zero-daemon, nativo de CAS, sobre Git padrão, utilizando snapshots de trunk sem commits pais, referências de workspace isoladas, árvores de merge em memória, OWNERS hierárquicos e sincronização de mirror em O(delta).

gosuda.org/zstd: Substituição Direta do DataDog/zstd com Compressão Sem CGO e Isolamento de Falhas
Biblioteca Go Zstandard com CGO_ENABLED=0 executando a libzstd em C upstream 1.5.7 em um worker de memória compartilhada, com API compatível com DataDog/zstd, contextos reutilizáveis e agrupamento em lote.

gosuda.org/sqlite3: Driver database/sql com CGO_ENABLED=0 sobre IPC de Memória Compartilhada
Driver drop-in de database/sql para SQLite 3.54.1 em Go com CGO_ENABLED=0, isolamento de workers com shared memory HQQ, pré-busca de linhas em lotes de 64 KiB e binários atestados por SLSA.

HQQ: Isolamento de Bibliotecas C em Relação ao Go por Meio de Memória Compartilhada Alinhada a Linhas de Cache
Runtime de IPC sem cgo, compilador de IDL (hqq-bindgen) e supervisor de processos verificado que executam bibliotecas C11 nativas em processos de trabalho isolados por meio de anéis de memória compartilhada.

Schottky: Codificação de Chaves de Bytes sem Alocação e com Preservação de Ordem para Go
Biblioteca Go sem alocação de memória que codifica tuplas compostas em chaves de bytes ordenadas por memcmp, com ordenação ASC/DESC independente, marcadores de posicionamento de NULL e limites para varredura por prefixo.

Portalite: SDK Go leve para Portal baseado em múltiplos vínculos de relé e net.Listener padrão
Um cliente e CLI Portal leve que oferece suporte à interface padrão net.Listener do Go, à vinculação simultânea a múltiplos relés, à criptografia ponta a ponta (E2EE) e à recuperação automática de sessões.

Go 1.27, ou Como Aprendi a Parar de Me Preocupar e Passar a Amar os Métodos Genéricos
Métodos genéricos, encoding/json/v2, um pacote uuid padrão e um detector de vazamento de goroutines que de fato funciona. Um tour pelo Go 1.27 com exemplos que foram todos efetivamente executados.

Análise da estrutura de tempo de execução de linguagens gerenciadas e de binários Go em assembly AMD64
Compara os modelos de execução de linguagens gerenciadas (managed) e não gerenciadas (unmanaged) e analisa, a partir do assembly AMD64 extraído com go tool objdump, a verificação de pilha (stack check) e a estrutura de chamadas de funções de runtime em binários Go.

Análise das instruções de desvio e da geração de código assembly AMD64 para a instrução condicional if em Go
O processo pelo qual o compilador Go traduz uma condicional if-else em instruções de desvio de linguagem de máquina AMD64, como CMPQ, JGE e JMP, é comparado com o resultado da geração de código de desvio do compilador C (-O2).

Metodologia de Desenvolvimento Nativa de IA: Circulação Bidirecional de Contexto para Além da Utilização de Ferramentas
Compara os limites estruturais das fases de dependência excessiva de IA e de simples utilização de ferramentas, e define um processo de desenvolvimento nativo de IA que acumula, em ambos os sentidos, a intenção de design e o contexto organizacional.

Portal Tunnel: Exposição de Serviços Localhost por Meio de Relés Públicos Descentralizados
Exponha serviços HTTP locais à internet pública com um único comando curl, por meio de túneis Portal multi-relay e sem permissão, sem necessidade de contas ou instalação de binários.

Limites de capacidade do canal de Shannon e estrutura de comunicação semântica (Semantic Communication) baseada em IA
Analisamos os limites de capacidade do canal físico estabelecidos pelo teorema de Shannon-Hartley e tratamos da comunicação semântica, que comprime os dados transmitidos em unidades de significado, em vez de bits, por meio de uma base de conhecimento compartilhada e de codificadores/decodificadores semânticos.

Portal: um relé aberto com criptografia de ponta a ponta que encaminha serviços locais para redes externas
Descreve a arquitetura Portal, que expõe um servidor local à Internet pública através de uma rede de retransmissão aberta com criptografia ponta a ponta (E2EE), sem necessidade de IP público nem de configuração de infraestrutura em nuvem.

Chamadas de Sistema Linux Diretas em Go Puro com syscall.Syscall e unsafe.Pointer
Invocação de chamadas de sistema do kernel Linux, como SYS_SYSINFO, diretamente a partir de Go puro, utilizando structs alinhadas à ABI, unsafe.Pointer e o pacote syscall padrão, sem cgo.

Any não é Any, mas Any é Any
Analisa detalhadamente o tipo `any` da linguagem Go e sua estrutura interna `EFace`, e descreve os métodos de tratamento dinâmico de tipos utilizando o pacote `reflect` e as asserções/switches de tipo.

Estrutura das implementações FIPS 140-2 e FIPS 140-3 na biblioteca criptográfica padrão do Go
Analisa as limitações da integração com providers C OpenSSL externos e aborda o BoringCrypto (FIPS 140-2), o modo FIPS 140-3 do pacote crypto nativo da linguagem Go, a verificação Fail-Fast, o Hedged ECDSA e a estrutura DRBG.

Mapa de bits vibrante
Do conceito de índice bitmap em bancos de dados ao funcionamento do Roaring Bitmap e à sua utilização com a linguagem Go. Explora-se a otimização por meio de bitmaps para o processamento eficiente de conjuntos de dados em grande escala.

Política e computação
Política e ciência da computação, dois campos aparentemente distintos, mas semelhantes em muitos aspectos, examinam como ambos podem resolver problemas sociais e como o desenvolvedor pode tornar-se um novo legislador.

Funcionamento das goroutines em Go: pilha variável de 2 KB e escalonador GMP M:N
Explica desde a diferença entre concorrência e paralelismo até a pilha variável inicial de 2 KB das goroutines, a troca de contexto em nível de usuário, o GOMAXPROCS e o modelo de escalonamento em tempo de execução GMP (Goroutine-Machine-Processor).

Servidores de banco de dados e bancos de dados embarcados: comparação de arquitetura e características de E/S
Este documento compara RDBMS baseados em processos independentes e bancos de dados embarcados in-process, como SQLite, RocksDB, BadgerDB e PebbleDB, sob a perspectiva da latência de I/O em NVMe SSD, do isolamento de dados em MSA e da estrutura de implantação.

Configuração de servidor NATS embarcado em aplicações Go e estrutura de comunicação em processo
Aborda a configuração para executar um broker NATS (nats-server/v2) incorporado dentro de um processo Go, além do projeto de comunicação em memória baseada em InProcessConn e de uma interface de consumidor definida pelo usuário.

Interfaces e incorporação de structs em Go: diferenças em relação à herança de classes e design por composição
Compara as diferenças entre a herança de classes em Java/C++ e a tipagem estrutural (structural typing) das interfaces em Go, e explica o padrão de composição (Composition) por meio de exemplos de código que utilizam a incorporação de structs (struct embedding) e a delegação de métodos.

5 Características de Design da Linguagem Go sob a Perspectiva da Engenharia de Sistemas e de Backend
Este texto resume a filosofia de design do Go, com foco na compilação nativa rápida e no desempenho em tempo de execução, na biblioteca padrão que funciona sem frameworks (net/http, database/sql), no escalonador de goroutines M:N e na garantia de compatibilidade retroativa.

A xícara de chá verde de tempo livre que o runtime do Go tomará de você: GreenTea GC
O novo GreenTea GC do Go melhora o desempenho ao aumentar a eficiência da coleta de objetos pequenos com base em spans de memória. Examinamos os problemas do GC existente e as vantagens do GreenTea GC.

Redução do tempo de resposta em uploads de arquivos HTTP em Go: implementação de uma fila de workers assíncronos baseada em canais
Trata-se de uma estrutura que, no manipulador de upload de arquivos do net/http, separa a recepção dos arquivos temporários e a operação de transferência para contêineres Incus em um canal com buffer e um pool de workers baseado em goroutines, com o objetivo de reduzir a latência de resposta do endpoint.

Análise das mudanças de comportamento do encoding/json/v2 no Go 1.25 e da camada de compatibilidade com v1
Compara a correspondência sensível a maiúsculas e minúsculas, as alterações semânticas de omitempty/omitzero, a serialização de slices/mapas nil e as opções do encoding/json/v2, introduzido como recurso experimental do Go 1.25 (goexperiment.jsonv2).

Injeção de variáveis em tempo de compilação no Go: uso de go build -ldflags -X
Este texto aborda como injetar valores de variáveis de string em Go em tempo de compilação, sem arquivo .env externo, utilizando a flag de linker `go build -ldflags "-X"` e especificando o caminho do símbolo do pacote.

Tratamento de erros HTTP de forma menos trabalhosa + RFC7807
Está cansado de lidar com erros na API em Go? Trate-os de forma mais simples e clara com a RFC 7807.

Comparação de Design de Linguagens em Ambientes de Geração de Código por LLMs: Custo de Abstração e Explicitude do Go
Este texto analisa como o polimorfismo orientado a objetos, o açúcar sintático e as árvores complexas de módulos aumentam o custo de inferência de contexto dos LLMs, e discute por que o Go, com seu fluxo de controle explícito e sua sintaxe simples, é vantajoso para a geração de código por IA.

História do Cilium: a notável melhoria na estabilidade de rede obtida com uma pequena alteração de código
Saiba em detalhe como uma pequena alteração de código no projeto Cilium melhorou significativamente a estabilidade do gerenciamento de conexões NAT baseado em LRU.

Compreendendo um pouco o MCP host
Este texto tem como objetivo auxiliar a compreensão do protocolo MCP da Anthropic e do host MCP (mcphost) implementado em Go.

Executando um servidor Go de forma escalável com .NET Aspire
Como executar servidores Go de forma escalável com o .NET Aspire: exemplo de configuração de escalonamento horizontal e automação com o proxy reverso YARP.

Experiência de uso de MLDSA e MLKEM na linguagem Go
Neste texto, veremos como utilizar a criptografia pós-quântica MLDSA e MLKEM na linguagem Go, apresentando as características de cada algoritmo e exemplos de código.

Visão Geral do Lançamento do Go 1.24: Mapas Swiss Table, ML-KEM, os.Root e testing/synctest
Visão técnica geral do Go 1.24: mapas nativos baseados em Swiss Table, crypto/mlkem (FIPS 203), TLS Encrypted Client Hello, runtime.AddCleanup, os.Root e testing/synctest.

Randflake ID: Geração Distribuída de Identificadores Únicos de 64 Bits com a Cifra de Bloco Sparx64
Gerador distribuído de IDs únicos de 64 bits que combina um timestamp de 30 bits, um ID de nó de 17 bits, um contador local de 17 bits e a cifra de bloco Sparx64 ARX para IDs não adivinháveis.

Melhorando a responsividade com cache do lado do cliente no Redis
Melhoria da Responsividade de APIs Utilizando Client Side Cache Assistido pelo Servidor Redis

Implementação de um visualizador de imagens baseado em listbox de múltiplos arquivos com Go e Tcl/Tk 9.0
Implementa-se um visualizador de imagens com interface gráfica, no modernc.org/tk9.0, mediante a adição de associações (bindings) de comandos Tcl listbox e de manipuladores de eventos virtuais, possibilitando a abertura de múltiplos arquivos de imagem, a alternância de seleção e a exclusão de itens da lista.

Implementação de GUI em Go Tcl/Tk sem CGo (modernc.org/tk9.0): empacotamento de widgets e renderização de imagens
Implementa a criação de janelas, a disposição (packing) de widgets de botão e barra de menus, e a renderização de imagens SVG/PNG/ICO em Go, utilizando a biblioteca multiplataforma modernc.org/tk9.0, que não possui dependências de CGo.

Go e o ecossistema OpenAPI
Apresentamos bibliotecas e estratégias que podem ser utilizadas no desenvolvimento de APIs baseadas em OpenAPI com a linguagem Go.

Kit Inicial de Concorrência em Go
Apresentamos diversas ferramentas e técnicas para o gerenciamento de concorrência em Go, incluindo goroutines, canais e mutexes.

Por que Go optou pelo retorno explícito de erros e por panic-recover em vez do lançamento de exceções com try-catch
Este texto examina as limitações da estrutura try-catch, que transfere a responsabilidade pelo tratamento de exceções ao longo da pilha de chamadas, e descreve o design de panic-recover em Go, restrito a estados irrecuperáveis, em contraste com o tratamento explícito de erros no ponto de chamada.

Construção de Infraestrutura de Serviços de IA em Go: Concorrência e Integração de APIs
Como o Go lida com a orquestração de APIs de modelos fundacionais, com E/S de rede concorrente, pipelines de streaming e implantação de serviços nativos da nuvem.