Avatar ·

Funktion in anderer Datei deklariert, aber Go schreibt "undefined": Was tun?

Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein seltsames Problem gestoßen. Ich habe ein einfaches Projekt mit zwei Dateien in einem Ordner:\n\n**main.go:**\n```go\npackage main\n\nimport "fmt"\n\nfunc main() {\n result := add(5, 3)\n fmt.Println("Ergebnis:", result)\n}\n```\n\n**math.go:**\n```go\npackage main\n\nfunc add(a int, b int) int {\n return a + b\n}\n```\n\nIch führe `go run main.go` aus und erhalte den Fehler:\n```\n# command-line-arguments\n.\\main.go:6:14: undefined: add\n```\n\nWarum sieht Go die Funktion `add` nicht, die in einer anderen Datei deklariert ist? Beide Dateien befinden sich doch im selben Ordner und haben dasselbe package main. Ich habe gelesen, dass man in Go Funktionen aus Dateien desselben Pakets nicht explizit importieren muss. Wo könnte das Problem liegen? Ich habe die Syntax bereits überprüft – scheint alles korrekt zu sein. Könnt ihr mir helfen?