go.mod
Aprenda como gerar e configurar o arquivo go.mod para gerenciar módulos e dependências para aplicações Go na Discloud.
🗂️ O que é go.mod
?
go.mod
?go.mod
define o caminho do seu módulo, a versão da toolchain Go (no formato major.minor
), e as dependências diretas necessárias pelo seu projeto. A Discloud usa ele (e o go.sum
acompanhante) para baixar e verificar módulos antes de construir sua aplicação.
🛠️ Criando um Novo Módulo
Inicialize um módulo no diretório atual:
go mod init github.com/you/yourapp
Adicione (ou atualize) dependências automaticamente referenciando-as no código e organizando:
go mod tidy
Isso cria go.sum
(não deve estar vazio) com linhas de checksum.
Adicione uma dependência específica explicitamente:
go get github.com/go-chi/chi/v5
Então organize novamente se necessário:
go mod tidy
🧩 Exemplo Mínimo
module github.com/you/yourapp
go 1.22
A versão do Go DEVE estar no formato major.minor
(ex.: 1.22
). NÃO use patch: 1.22.3
.
📦 Adicionando Dependências
Para adicionar uma nova dependência, ou:
Importe-a no seu arquivo fonte e execute go mod tidy
, ou
Execute go get module/path@version
diretamente.
Exemplo: adicionar Chi router
go get github.com/go-chi/chi/v5
Snippet resultante do go.mod
:
require (
github.com/go-chi/chi/v5 v5.0.12 // versão exemplo
)
As versões são resolvidas semanticamente pelo sistema proxy/módulo.
🔒 Integridade do go.sum
& Caso Vazio
go.sum
& Caso Vaziogo.sum
contém hashes criptográficos de cada versão de módulo necessária (direta & indireta) para garantir builds reprodutíveis. Ele deve ser commitado junto com go.mod
.
Regenere / atualize-o a qualquer momento:
go mod tidy
🧪 Exemplos de Tipos de Aplicação
Exemplos em abas para cenários comuns:
module github.com/you/discordbot
go 1.22
require (
github.com/bwmarrin/discordgo v0.27.1 // exemplo
)
🧰 Referência de Comandos Comuns
# Execute sua aplicação diretamente
go run .
# Construa um binário
go build -o app
# Liste todos os módulos (diretos+indiretos)
go list -m all
# Mostre o gráfico de dependências
go mod graph
Last updated