In Go-Projekten, die sowohl eine Bibliothek als auch eine Befehlszeilenschnittstelle (CLI) erfordern, tritt dieses Problem häufig auf von mehreren Paketen im selben Verzeichnis.
Eine solche Projektstruktur:
whatever.io/ myproject/ main.go myproject.go
Das Paket main und func main sind unerlässlich zum Initiieren der Ausführung in Go, während eine Bibliothek ein separates Paket erfordert, z. B. das Paket myproject. Beim Importieren dieses Projekts kann der Go-Compiler jedoch Einwände erheben:
main.go:5:2: found packages myproject (myproject.go) and main (main.go) in $GOPATH/src/whatever.io/myproject
Um dieses Problem zu beheben, platzieren Sie beide Pakete in einem neuen Ordner im selben Verzeichnis wie main .gehen. Denken Sie daran, die Importanweisungen zu aktualisieren, um auf das neue Paket aus Ihrem $GOPATH zu verweisen.
Zum Beispiel:
whatever.io/ myproject/ library/ myproject.go main.go
In main.go importieren Sie das Bibliothekspaket wie folgt:
import "../library/myproject"
Dieser Ansatz stellt eine klare Trennung zwischen der Bibliothek und der CLI sicher und ermöglicht gleichzeitig, dass sich beide im selben Verzeichnis befinden.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Go-Projekt mit einer Bibliothek und einer CLI im selben Verzeichnis organisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!