10 - Les modules et packages

Définition

Jusqu’ici nous n’avons écrit notre code que dans un seul fichier, pour l’instant c’était tolérable car la taille de note code était petite, mais plus votre code va grandir plus vous allez vite vous rendre compte qu’il est nécessaire de déplacer des portions de votre code dans d’autres fichiers afin de mieux organiser et maintenir votre programme, et c’est là qu’interviennent les packages !

Un package n’est rien d’autre qu’un répertoire contenant des fichiers de code go, qui peut être exécuté par d’autres fichiers go.

Comme nous en avons discuté au début de cette série, il existe deux types de packages : * Package exécutable * Package utilitaire

Dans un package exécutable on retrouve le fameux package main qui permet d’informer votre compilateur Go que le paquet doit être compilé en tant que programme exécutable au lieu d’un package utilitaire.

Un package utilitaire n’est pas auto-exécutable, il améliore plutôt les fonctionnalités d’un package exécutable en lui fournissant des fonctionnalités.

Plus de détails et d’informations dans la vidéo suivante :

Go modules

Un module est une collection de paquets (packages) Go stockés dans une arborescence de fichiers avec un fichier go.mod à la racine.

Le fichier go.mod définit le chemin du module, qui est aussi le chemin d’importation utilisé pour le répertoire racine, et ses exigences de dépendance, qui sont les autres modules nécessaires pour que la compilation réussisse. Chaque exigence de dépendance est écrite sous la forme d’un chemin de module et d’une version sémantique spécifique.

Nous allons donner plus de détails sur les modules dans une prochaine vidéo.