Meine Organisation verwendet Rails, um seine App zu entwickeln, aber ich versuche, einen unserer Back-End-Prozesse in Golang neu zu schreiben, weil es viel schneller ist.Golang-Projektstruktur in einer Anwendung im Vergleich zu einem Paket
Ich habe meine Anwendung mit unserer Firma einen Namespace für meine App (example.co
) und einen Unterordner für jedes der Pakete innerhalb meiner App strukturiert.
Jede Bibliothek, die ich eingeschlossen habe (z. B. sqlx
, etc ...) hat auch einen eigenen Ordner.
src/
github.com/
jmoiron/
(sqlx package files)
example.co
my_app/
(my app package files)
model/
(model package files...)
However looking at other packages like sqlx, es scheint, dass sie diese Verzeichnisstruktur Schrott und alle vollständig ihre Dateien im Stammverzeichnis setzen
Ist das, weil ich eine Anwendung Ich schreibe und SQLX ist ein Paket, das aufgenommen zu werden ist gemeint, in andere Anwendungen? Oder ist es nur ein Unterschied in der Vorliebe, da es keinen wirklich akzeptierten "Standard" gibt
Lesen Sie https://golang.org/doc/code.html, wenn Sie dies noch nicht getan haben. Das sqlx-Paket wurde mit Hilfe von 'go get' installiert. Die Verzeichnisstruktur vom Stammverzeichnis im GOPATH bis zum 'sqlx'-Verzeichnis wird mit' go get' erstellt. Ich empfehle Ihnen, Ihren Go-Arbeitsbereich zu konfigurieren (indem Sie GOPATH einstellen), "go get github.com/jmoiron/sqlx" auszuführen und sich die resultierende Verzeichnisstruktur anzusehen. –