Heim >Backend-Entwicklung >Golang >Wie kann ich sowohl eine Go-Bibliothek als auch eine eigenständige ausführbare Datei mit demselben Namen erstellen?

Wie kann ich sowohl eine Go-Bibliothek als auch eine eigenständige ausführbare Datei mit demselben Namen erstellen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-01 16:42:15130Durchsuche

How Can I Build Both a Go Library and a Standalone Executable with the Same Name?

Gemeinsame Namen in Bibliotheken und Binärdateien verwalten

Bei der Entwicklung von Software kann es wünschenswert sein, sowohl eine Bibliothek als auch eine eigenständige ausführbare Datei mit zu haben gleichen Namen. Dies kann in Go zu Herausforderungen führen, da der empfohlene Ansatz darin besteht, dass ausführbare Dateien und Bibliotheken unterschiedliche Namen haben.

Im bereitgestellten Beispiel versucht der Entwickler, eine Bibliothek für Tar-Operationen zu erstellen, möchte aber auch eine eigenständige Bibliothek Tar-Befehlszeilenprogramm. Der anfängliche Ansatz, den ausführbaren Code in einem Verzeichnis namens main.go innerhalb des Bibliothekspakets zu platzieren, funktioniert nicht wie erwartet.

Um dieses Problem zu beheben, wird empfohlen, die Codebasis wie folgt zu organisieren:

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

Mit dieser Struktur erstellt go build -o $GOPATH/bin/tar tarbin sowohl eine Bibliothek namens tar als auch eine Binärdatei namens tar.

Wenn der Code lautet Auf GitHub gehostet, lautet die bevorzugte Verzeichnisstruktur:

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

Dieses Layout stellt sicher, dass beim Ausführen von go get install github.com/you/tar/tar eine Binärdatei namens tar installiert wird und go get install github ausgeführt wird .com/you/tar installiert die Bibliothek mit dem Namen github.com/you/tar.

Abhängig vom Hauptzweck der Codebasis können die Bibliothek und die Binärdatei im Verzeichnis ausgetauscht werden Struktur.

Durch die Verwendung separater Unterverzeichnisse für die Bibliothek und die Binärdatei innerhalb des Paketverzeichnisses können Entwickler Code mit gemeinsamen Namen in Go effektiv verwalten und so sowohl Bibliotheks- als auch eigenständige ausführbare Funktionen ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann ich sowohl eine Go-Bibliothek als auch eine eigenständige ausführbare Datei 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