go mod
e versionamento
Go Modules
- Introduzidos no Go 1.11, substituem
$GOPATH
para gerenciar dependências. - O arquivo
go.mod
define o módulo e suas dependências.
Exemplo de go.mod
module github.com/seu-usuario/meu-projeto
go 1.21
require (
github.com/google/uuid v1.6.0
)
Para download do código-fonte, clique aqui!
Comandos Principais
go mod init
: Inicializa um módulo.go mod tidy
: Adiciona dependências usadas e remove não usadas.go mod vendor
(opcional): Cria um diretório vendor/ com dependências.
Versionamento
- Go usa
versionamento semântico
(ex: v1.6.0) - Módulos são referenciados por URLs de repositórios (ex:
github.com/autor/projeto
) - Tags no repositório (ex:
git tag v1.0.0
) definem versões
Comparação com Java
Java
- Usa
Maven/Gradle
com repositórios centralizados (ex:Maven Central
)
Go
- Usa URLs de repositórios diretamente, com proxy (ex:
proxy.golang.org
)
Caso de uso
Go Modules simplificam o gerenciamento de dependências em projetos grandes, como APIs que integram bibliotecas externas.