Avatar ·

Funktion, die in einer anderen Datei deklariert wurde, ist nicht sichtbar — Fehler "undefined" in Go

Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein sehr seltsames Problem gestoßen. Ich habe zwei Dateien im selben Ordner `main`: **main.go:** ```go package main func main() { hello() } ``` **helper.go:** ```go package main func hello() { println("Hello from helper!") } ``` Ich starte das Programm mit dem Befehl `go run main.go` und erhalte den Fehler: ``` # command-line-arguments ./main.go:4:2: undefined: hello ``` Warum passiert das? Beide Funktionen befinden sich doch im selben Paket `main`, und in anderen Sprachen (z.B. Python oder Java) sehen sich Dateien im selben Ordner normalerweise automatisch. Ich habe versucht, die Dateien umzubenennen, die Syntax zu überprüfen — alles ohne Erfolg. Könnt ihr mir bitte sagen, was ich falsch mache? Wie organisiere ich Code in Go richtig, damit Funktionen aus verschiedenen Dateien verfügbar sind? <<>>

Warum der Fehler "undefined" auftritt

Das Problem liegt darin, dass der Befehl go run main.go nur eine einzige Datei ausführt — main.go.