Aller au contenu

Les modules Go

Un module Go est un ensemble de packages Go versionnés ensemble comme une unité. Les modules remplacent l’ancien flux de travail basé sur GOPATH et fournissent :

  • Versionnage – Les versions sémantiques (v1.2.3) sont obligatoires.
  • Gestion des dépendancesgo.mod liste les modules requis et leurs versions.
  • Construire reproductiblesgo.sum assure l’intégrité.

Le système de modules a été introduit dans Go 1.11 et est devenu le défaut à partir de Go 1.16.

  • go.mod – Définit le chemin du module (ex. github.com/utilisateur/projet) et ses dépendances.
  • go.sum – Contient les sommes de contrôle des dépendances pour vérifier leur intégrité.
CommandeObjectif
go mod init <module>Crée un nouveau module dans le répertoire courant.
go get <module>Ajoute une dépendance (ou la met à jour).
go mod tidySupprime les dépendances inutilisées et ajoute celles manquantes.
go mod vendorCopie les dépendances dans un dossier vendor/ (optionnel).

Créez un nouveau module nommé “bonjour”.

Fenêtre de terminal
mkdir monprojet
cd monprojet
go mod init bonjour
Fenêtre de terminal
go: creating new go.mod: module bonjour

Le fichier go.mod contient alors :

module bonjour
go 1.24
Fenêtre de terminal
go get rsc.io/quote

Cela met à jour go.mod et télécharge le module.