Макет пакета для проектов Go, использующих модули для отслеживания зависимостей? - PullRequest
0 голосов
/ 13 ноября 2018

Go теперь предоставляет модулей для управления зависимостями, и я немного запутался в том, как мне организовать свои проекты.

В традиционном режиме $GOPATH я бы организовалПриложение выглядит следующим образом:

├─ cmd/
|  └─ myapp/
|     └─ main.go
├─ otherstuff/
|  └─ file.go
└─ README.md, etc.

Это то, что я вижу в большинстве проектов на GitHub.

Однако теперь, когда у нас есть модули, я не уверен, куда поместить go.mod,Это идет в корневой каталог проекта?Это входит в cmd/[whatever]/?Должен ли я по-прежнему помещать main.go в каталог cmd/[whatever] или теперь он должен находиться в корневом каталоге проекта?

1 Ответ

0 голосов
/ 13 ноября 2018

Из вики :

Модуль - это набор связанных пакетов Go, которые объединены в единое целое.Чаще всего один репозиторий с контролем версий точно соответствует одному модулю, но альтернативно, один репозиторий с контролем версий может содержать несколько модулей.(или эквивалент для некоторых других VCS) почти всегда правильно.Вы можете создать несколько модулей в одном репозитории, только если код в каждом модуле действительно независим от других модулей, так что версия одного модуля никак не влияет на другие модули.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...