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.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen