Resumo de Regras e Melhores Práticas de Go
Índice transversal de regras que liga cada checklist do site.
Busque em todas as páginas da documentação
Índice transversal de regras que liga cada checklist do site.
Estas regras destilam a seção go-rules e apontam para checklists especializados em concorrência, módulos, segurança e desempenho.
v1.x.%w quando os chamadores inspecionarem sentinelas. Mensagens opacas quebram cadeias de errors.Is.ctx; nunca armazene contexto em structs.go.sum atomicamente com imports./v2.go mod why -m em novas requisições.go fix mudam a aplicação.Effective Go como um Padrão Vivo, depois Guia Rápido de Regras de Go, depois o Nível A desta página.
Regras do Effective Go, depois Concorrência, depois Segurança antes do lançamento.
Design de API e regras de Módulo antes de marcar v1.
Automatize subconjuntos objetivos.
Mantenha regras de julgamento em revisões e ADRs.
Link aqui como canônico.
Adicione um breve documento delta para regras apenas da organização (fornecedor de logging, framework RPC).
Trimestralmente e após lançamentos menores do Go.
Documente evidências de benchmark e escopo a exceção para o pacote quente.
O Nível A se aplica na maior parte.
Subconjuntos de concorrência e stdlib precisam de checklists com escopo de tag de build.
Sim para formato, vet, module tidy e govulncheck.
Design de interface e operabilidade ainda precisam de revisão humana.
Aprofundamentos ficam em seções irmãs: error-handling, packages-modules, security, performance-profiling e linting-quality.
Versões de Stack: Esta página foi escrita para Go 1.26.x (padrão Green Tea GC, modernizadores go fix - verifique o patch na compilação), chi (última versão - verifique na compilação), gin (última versão - verifique na compilação), echo (última versão - verifique na compilação), google.golang.org/grpc (última versão - verifique na compilação), sigs.k8s.io/controller-runtime (última versão - verifique na compilação), kubebuilder (última versão - verifique na compilação), tinygo (última versão - verifique os alvos de placa na compilação), wazero (última versão - verifique na compilação) e golangci-lint (última versão - verifique o conjunto de linters na compilação).
Revisado por Chris St. John·Última atualização: 18 de jul. de 2026