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

Wie kann ich eine Go-Binärdatei und eine Go-Bibliothek mit demselben Namen erstellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-30 19:55:111056Durchsuche

How Can I Create a Go Binary and Library with the Same Name?

Teilen eines Namens zwischen Bibliotheken und Binärdateien in Go

Beim Erstellen eines Softwarepakets wünschen Sie sich möglicherweise eine Bibliothek und eine eigenständige Binärdatei mit dem gleichen Namen. Dies kann für Tools wie tar nützlich sein, das sowohl als Befehl als auch als Bibliothek verwendet wird.

Zunächst könnten Sie eine einfache Verzeichnisstruktur versuchen:

src/
    tar/
        tar.go # belongs to package tar
        main.go # imports tar and provides a main function

Dieser Ansatz führt jedoch in eine Binärdatei mit dem Namen „tarbin“ anstelle von „tar“. Um dieses Problem zu beheben, empfiehlt die Go-Dokumentation, den Befehl und die Bibliothek in verschiedene Verzeichnisse zu trennen:

src/
    tar/
        tar.go # belongs to package tar
    tarbin/
        main.go # imports tar and provides a main function

Während dies einen Befehl namens „tar“ erzeugt, heißt die Bibliothek jetzt „tarbin“.

Eine elegantere Lösung besteht darin, die Binärdatei im Bibliotheksverzeichnis zu verschachteln:

src/
    tar/
        tar.go         # tar library
        tar/
            main.go    # tar binary

Diese Struktur stellt sowohl eine Binärdatei mit dem Namen „tar“ als auch eine Bibliothek mit dem Namen bereit „tar.“

Abhängig von Ihren Prioritäten können Sie die Positionen der Bibliothek und der Binärdatei innerhalb der verschachtelten Struktur vertauschen.

Die Einbettung des gesamten Codes in einen einzigen Baum bietet Vorteile, wie z Führen Sie go install ./... aus dem Stammverzeichnis aus, um alle Pakete und Unterpakete zu erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Go-Binärdatei und eine Go-Bibliothek mit demselben Namen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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