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
Barbara StreisandOriginal
2024-12-09 14:26:11138Durchsuche

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

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

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

In main.go importieren Sie das Bibliothekspaket wie folgt:

import "../library/myproject"

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!

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