Avatar ·

Wie man lokale Pakete in Go ohne GOPATH importiert (Go-Module)

Hallo! Ich fange an, Go zu lernen, und habe ein Problem mit dem Import lokaler Pakete. Ich bin es gewohnt, mit anderen Sprachen zu arbeiten, wo man einfach Dateien in einem Ordner erstellen und importieren kann. Aber in Go ist alles komplizierter.\n\nIch habe folgende Projektstruktur:\n\n```\nmyproject/\n├── main.go\n└── utils/\n └── helper.go\n```\n\nIn `helper.go` habe ich eine Funktion `Hello()` definiert:\n\n```go\npackage utils\n\nfunc Hello() string {\n return "Hallo aus utils!"\n}\n```\n\nIn `main.go` versuche ich, dieses Paket zu importieren:\n\n```go\npackage main\n\nimport (\n "fmt"\n "myproject/utils"\n)\n\nfunc main() {\n fmt.Println(utils.Hello())\n}\n```\n\nAber wenn ich `go run main.go` ausführe, bekomme ich einen Fehler: `package myproject/utils is not in GOROOT (/usr/local/go/src/myproject/utils)`. Ich habe gelesen, dass früher