Heim > Backend-Entwicklung > Golang > Wie kann ich in Go eine Bibliothek und eine eigenständige Binärdatei mit demselben Namen erstellen?

Wie kann ich in Go eine Bibliothek und eine eigenständige Binärdatei mit demselben Namen erstellen?

Barbara Streisand
Freigeben: 2024-11-27 01:25:09
Original
438 Leute haben es durchsucht

How Can I Build a Library and a Standalone Binary with the Same Name in Go?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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öglicht

Das 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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage