Avatar ·

Comment exécuter un projet Go avec plusieurs fichiers dans un seul package main ?

Bonjour ! Je viens de commencer à apprendre Go et j'ai rencontré un problème. J'ai un petit projet composé de plusieurs fichiers, tous situés dans le dossier `cmd` et déclarés comme `package main`. Voici la structure : ``` myproject/ cmd/ main.go helpers.go config.go ``` Dans `main.go`, j'appelle des fonctions depuis `helpers.go`, par exemple : ```go // main.go package main func main() { msg := getMessage() fmt.Println(msg) } ``` ```go // helpers.go package main func getMessage() string { return "Hello from helpers!" } ``` Quand j'essaie d'exécuter le projet avec la commande `go run cmd/main.go`, j'obtiens l'erreur : ``` # command-line-arguments ./main.go:6:14: undefined: getMessage ``` Je comprends que Go ne voit qu'un seul fichier. Comment exécuter correctement le projet pour que tous les fichiers du package main soient compilés ensemble ? Dois-je utiliser `go build` ou existe-t-il une autre méthode ? Je me demande aussi comment gérer un grand nombre de fichiers — est-ce une pratique normale en Go ?