Heim > Backend-Entwicklung > Golang > Wie kann ich ein Go-Projekt mit einer Bibliothek und einer CLI im selben Verzeichnis organisieren?

Wie kann ich ein Go-Projekt mit einer Bibliothek und einer CLI im selben Verzeichnis organisieren?

Barbara Streisand
Freigeben: 2024-12-09 14:26:11
Original
137 Leute haben es durchsucht

How Can I Organize a Go Project with Both a Library and a CLI in the Same Directory?

Code in Projekten mit mehreren Paketen organisieren

In Go-Projekten, die sowohl eine Bibliothek als auch eine Befehlszeilenschnittstelle (CLI) erfordern, tritt dieses Problem häufig auf von mehreren Paketen im selben Verzeichnis.

Eine solche Projektstruktur:

whatever.io/
    myproject/
        main.go
        myproject.go
Nach dem Login kopieren

Das Paket main und func main sind unerlässlich zum Initiieren der Ausführung in Go, während eine Bibliothek ein separates Paket erfordert, z. B. das Paket myproject. Beim Importieren dieses Projekts kann der Go-Compiler jedoch Einwände erheben:

main.go:5:2: found packages myproject (myproject.go) and main (main.go) in $GOPATH/src/whatever.io/myproject
Nach dem Login kopieren

Lösung: Verschachtelte Pakete

Um dieses Problem zu beheben, platzieren Sie beide Pakete in einem neuen Ordner im selben Verzeichnis wie main .gehen. Denken Sie daran, die Importanweisungen zu aktualisieren, um auf das neue Paket aus Ihrem $GOPATH zu verweisen.

Zum Beispiel:

whatever.io/
    myproject/
        library/
            myproject.go
        main.go
Nach dem Login kopieren

In main.go importieren Sie das Bibliothekspaket wie folgt:

import "../library/myproject"
Nach dem Login kopieren

Dieser Ansatz stellt eine klare Trennung zwischen der Bibliothek und der CLI sicher und ermöglicht gleichzeitig, dass sich beide im selben Verzeichnis befinden.

Zusätzlich Hinweise

  • Das Verschieben von Paketen in eine verschachtelte Struktur hat keinen Einfluss auf die Funktionalität beider Pakete.
  • go run- und go build-Befehle können zum Testen und Erstellen des Projekts verwendet werden.
  • Weitere Informationen zu den Unterschieden zwischen go build file.go und go build finden Sie unter dem bereitgestellten Link.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Go-Projekt mit einer Bibliothek und einer CLI im selben Verzeichnis organisieren?. 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