Noções Básicas da Toolchain Go
10 exemplos para você começar com a Toolchain Go - 7 básicos e 3 intermediários.
Busque em todas as páginas da documentação
10 exemplos para você começar com a Toolchain Go - 7 básicos e 3 intermediários.
mkdir tooldemo && cd tooldemo && go mod init example.com/tooldemo.Confirme qual release do Go está ativa antes de depurar diferenças de build.
go versiongo env GOVERSION imprime apenas a string da versão para scripts.Relacionado: O Comando go: Ciclo de Vida de Build, Teste e Módulos - como o driver se encaixa
Compile o pacote atual sem instalar globalmente.
go build -o bin/server ./cmd/servergo build sem -o nomeia o binário com o nome do diretório (server para cmd/server).$?.-trimpath em pipelines de release para remover caminhos de arquivo dos binários.Relacionado: go build, run, install & clean - flags e comportamento do cache
Compile para um binário temporário e execute em uma única etapa.
go run .--: go run . --port 8080.go run ./cmd/worker visa um pacote main específico.Relacionado: go build, run, install & clean - quando preferir
buildem vez derun
Execute testes no diretório atual.
go test -v .-v imprime o nome de cada teste à medida que ele é executado.*_test.go ao lado do código de produção.Relacionado: go test, list & generate - padrões, race e benchmarks
Execute toda a árvore de módulos.
go test ./..../... expande para todos os pacotes sob a raiz do módulo.-count=1 para desativar o cache de resultados de teste ao depurar flakes.-race no CI para detecção de data race.Relacionado: go test, list & generate -
-race,-covere benchmarks
go mod init cria o arquivo raiz do módulo.
go mod init example.com/tooldemo
cat go.modgo 1.26 em go.mod declara a versão mínima da linguagem.go.mod por raiz de módulo; subpacotes o compartilham.Relacionado: go mod tidy, vendor, download & graph - mantendo as dependências precisas
Sincroniza go.mod com as importações reais.
go mod tidyrequire ausentes e remove módulos não utilizados.go.sum para cada módulo retido.Relacionado: go mod tidy, vendor, download & graph - comandos vendor e graph
Detecta construções suspeitas que o compilador permite.
go vet ./...fmt mal utilizados.go test, então ele compila os pacotes primeiro.Relacionado: go fix Modernizers & go vet Analyzers - correções e analisadores personalizados
Inspecione o que o carregador vê antes de um build.
go list ./...
go list -m -versions golang.org/x/syncgo list imprime caminhos de importação, status de teste e tags de build aplicadas.-m muda para o modo de módulo para consultas de versão.go list -m all para despejar a lista completa de builds para auditorias.Relacionado: go test, list & generate - saída JSON e templates
-f
Controle qual release do Go executa os comandos.
go env GOTOOLCHAIN
GOTOOLCHAIN=go1.26.0 go versionauto pode baixar um patch mais recente que satisfaça go.mod.GOTOOLCHAIN=local proíbe downloads automáticos da toolchain.go em go.mod para que os colegas resolvam a mesma linha de base.Relacionado: Cross-Compilation & Private Module Proxies - variáveis de ambiente para builds e módulos
Versões da Stack: Esta página foi escrita para Go 1.26.x (padrão Green Tea GC, modernizadores go fix - verifique o patch no build), chi (última versão - verifique no build), gin (última versão - verifique no build), echo (última versão - verifique no build), google.golang.org/grpc (última versão - verifique no build), sigs.k8s.io/controller-runtime (última versão - verifique no build), kubebuilder (última versão - verifique no build), tinygo (última versão - verifique os alvos de placa no build), wazero (última versão - verifique no build) e golangci-lint (última versão - verifique o conjunto de linters no build).
Revisado por Chris St. John·Última atualização: 18 de jul. de 2026