In Go-Projekten, die sowohl eine Bibliothek als auch eine Befehlszeilenschnittstelle (CLI) erfordern, tritt dieses Problem häufig auf dass sich mehrere Pakete im selben Verzeichnis befinden.
Eine solche Projektstruktur:
whatever.io/ myproject/ main.go myproject.go
Die Pakete main und func main sind für die Initiierung der Ausführung in Go unerlässlich, während eine Bibliothek ein separates Paket erfordert, beispielsweise das Paket myproject. Beim Importieren dieses Projekts kann der Go-Compiler jedoch Folgendes einwenden:
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.go. 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 gewährleistet eine klare Trennung zwischen den Bibliothek und CLI, während sich beide im selben Verzeichnis befinden können.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3