Paquets internes
Contexte
Section intitulée « Contexte »Un répertoire internal/ est une convention spéciale. Le code à l’intérieur de internal/ ne peut être importé que par d’autres codes à l’intérieur du même module (ou ses répertoires parents). Cela impose l’encapsulation et empêche l’utilisation externe des détails d’implémentation internes.
Structure de projet avec un paquet interne.
Code exemple
Section intitulée « Code exemple »monprojet/├── go.mod├── internal/│ └── aide/│ └── aide.go // package aide└── cmd/ └── monapp/ └── main.go // peut importer internal/aide// internal/aide/aide.gopackage aide
func Aider() string { return "aide interne"}// cmd/monapp/main.gopackage main
import ( "fmt" "monprojet/internal/aide")
func main() { fmt.Println(aide.Aider())}aide interne