Mehrere Bibliotheken und Binärdateien mit identischen Namen
Diese Frage untersucht die Möglichkeit, eine Bibliothek und eine eigenständige Binärdatei mit demselben Namen zu erstellen. Das Beispiel des Tar-Befehlszeilentools und seiner Bibliotheksfunktionalität veranschaulicht dieses Szenario.
Zunächst versuchte der Benutzer die folgende Verzeichnisstruktur:
src/ tar/ tar.go # belongs to package tar main.go # imports tar and provides a main function
Dies führte jedoch zu einem „Befehl " namens tarbin, nicht der gewünschte tar-Befehl.
Um dieses Problem zu beheben, nutzte der Benutzer die Problemumgehung, indem er den Ausgabebinärnamen explizit mit go build -o angab $GOPATH/bin/tar tar.
Eine elegantere Lösung, die vom Antwortenden vorgeschlagen wird, besteht darin, den Code wie folgt zu organisieren:
src/ tar/ tar.go # tar libary tar/ main.go # tar binary
Mit dieser Struktur wird die resultierende Binärdatei tar genannt , während die Bibliothek den Namen tar trägt.
Wenn der Code auf GitHub gehostet wird, wäre die Verzeichnisstruktur wie folgt folgt:
src/ github.com/ you/ tar/ tar.go # tar libary tar/ main.go # tar binary
Diese Organisation stellt sicher, dass der Befehl go sowohl die Binärdatei als auch die Bibliothek installieren kann, wenn er mit go get install github.com/you/tar/tar verwendet wird.
Der Vorteil Der Vorteil dieses Ansatzes besteht darin, dass er das Erstellen und Testen des gesamten Codes im Projekt mit go install ./....
ermöglichtDas obige ist der detaillierte Inhalt vonWie kann ich in Go eine Bibliothek und eine eigenständige Binärdatei mit demselben Namen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!