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 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

1

Inicialize um módulo no diretório atual:

go mod init github.com/you/yourapp
2

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.

3

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

Precisa do Go localmente? Veja o guia do ambiente local.


🧩 Exemplo Mínimo

go.mod
module github.com/you/yourapp

go 1.22

📦 Adicionando Dependências

Para adicionar uma nova dependência, ou:

1

Importe-a no seu arquivo fonte e execute go mod tidy, ou

2

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 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:

go.mod
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