Avatar ·

Fonction déclarée dans un autre fichier non visible — erreur "undefined" en Go

Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème très étrange. J'ai deux fichiers dans le même dossier `main` : **main.go:** ```go package main func main() { hello() } ``` **helper.go:** ```go package main func hello() { println("Hello from helper!") } ``` J'exécute le programme avec la commande `go run main.go` et j'obtiens l'erreur : ``` # command-line-arguments ./main.go:4:2: undefined: hello ``` Pourquoi cela se produit-il ? Pourtant, les deux fonctions sont dans le même package `main`, et dans d'autres langages (comme Python ou Java), les fichiers dans un même dossier se "voient" généralement automatiquement. J'ai essayé de renommer les fichiers, de vérifier la syntaxe — rien n'y fait. Dites-moi, s'il vous plaît, qu'est-ce que je fais de travers ? Comment organiser correctement le code en Go pour que les fonctions de différents fichiers soient accessibles ? <<>>

Pourquoi l'erreur "undefined" se produit

Le problème est que la commande go run main.go exécute un seul fichier — ma