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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 09:45:11596Durchsuche

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

Bibliothek und Binärdatei mit demselben Namen

Eine häufige Herausforderung entsteht beim Entwurf einer Bibliothek, die auch als eigenständige Binärdatei fungieren kann. Während es logisch erscheint, die Bibliothek und die Binärdatei identisch zu benennen, weist das Golang-Build-System häufig unterschiedliche Namen zu.

Eine Lösung besteht darin, die Verzeichnisstruktur in ein TAR-Verzeichnis für die Bibliothek und ein Tarbin-Verzeichnis für die Binärdatei zu unterteilen. Dieser Ansatz erstellt jedoch eine Binärdatei namens tarbin anstelle von tar.

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 erzeugt eine Binärdatei namens tar und eine Bibliothek namens tar.

In einem GitHub-Kontext sieht die Verzeichnisstruktur wie folgt aus:

src/
    github.com/
        you/
            tar/
                tar.go         # tar library
                tar/
                    main.go    # tar binary

Diese Struktur ermöglicht eine einfache Installation beider Binärdateien (gehen Sie, um github.com/you/tar/tar zu installieren) und die Bibliothek (gehen Sie, um github.com/you/tar zu installieren).

Je nach gewünschter Hervorhebung können die Bibliothek und die Binärdatei darin ausgetauscht werden die Verzeichnisstruktur. Darüber hinaus ermöglicht die Aufbewahrung des gesamten Codes in einem einzigen Baum ein bequemes Erstellen und Testen:

go install ./...
go test|fmt ./...

Das obige ist der detaillierte Inhalt vonWie kann ich eine Go-Bibliothek und eine Binärdatei 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