Wie kann vermieden werden, dass Abhängigkeiten für alle Pakete in einem Modul verfügbar gemacht werden?

王林
Freigeben: 2024-02-05 23:57:07
nach vorne
1084 Leute haben es durchsucht

Wie kann vermieden werden, dass Abhängigkeiten für alle Pakete in einem Modul verfügbar gemacht werden?

Frageninhalt

Da ich einen .net-Hintergrund habe, versuche ich derzeit, mein erstes Go-Projekt an eine typischere Go-Projektstruktur (ähnlich dieser) anzupassen. Was ich nicht verstehe, ist, wie ich verhindern kann, dass Abhängigkeiten versehentlich in Paketen landen, zu denen sie nicht gehören.

Angenommen, ich habe ein Projekt, das aus zwei Teilen besteht, einer Anwendung namens foo und einem Modell.

  • Mein Modell hat fast keine Abhängigkeiten
  • foo Anwendungen können von http-, Protokollierungs-, Metrik- usw. Bibliotheken abhängen.

Das Projekt könnte so aussehen:

├── go.mod
├── go.sum
├── model
│   ├── person.go
│   └── address.go
├── cmd
│   └── runfoo
│       └── main.go
└── foolib
    └── applicationlogic.go
Nach dem Login kopieren

Da sich die Moduldateien aber im Root-Verzeichnis befinden, ist go get github.com/httplib 将使 httplib auch für dieses Modell verfügbar. Diese Methode hat Nachteile:

  • Es ist so einfach (insbesondere mit Funktionen wie dem automatischen Import von vscode), dass es manchmal einfach ist, httplib in einem Modell zu erfordern, obwohl es definitiv nicht dorthin gehört.
  • Sehen go.mod, ich kann nicht herausfinden, welche Abhängigkeiten für das Modell und welche für die Anwendung gelten.

Jetzt kann ich sehr fein abgestimmte Module verwenden und go.work Dateien für die Entwicklung hinzufügen, aber das scheint schwierig zu warten zu sein (und stimmt nicht mit der Referenzstruktur überein).

Wie kann vermieden werden, dass Abhängigkeiten für alle Pakete verfügbar gemacht werden? Ist das klug?


Richtige Antwort


Wie vermeide ich, dass Abhängigkeiten für alle Pakete verfügbar gemacht werden[? ]

Sie können kein Modul verwenden.

[…] Ist das klug?

Nein, absolut nicht.

Die „Nachteile“, die Sie sehen, sind überhaupt nicht problematisch und werden in der Praxis keine Probleme bereiten.

Das obige ist der detaillierte Inhalt vonWie kann vermieden werden, dass Abhängigkeiten für alle Pakete in einem Modul verfügbar gemacht werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage