Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann vermieden werden, dass Abhängigkeiten für alle Pakete in einem Modul verfügbar gemacht werden?

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

王林
王林nach vorne
2024-02-05 23:57:071051Durchsuche

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen