Я играл с модулями Go, и мне было интересно, как лучше всего использовать следующую структуру каталогов:
project
├── go.mod
├── main.go
└── players
├── go.mod
├── players.go
└── players_test.go
Сначала у меня были проблемы с импортом пакета players
в мой корневой проект, но я заметил, что могу сделать это в корневом go.mod
файле
module github.com/<name>/<project>
require (
github.com/<name>/players v0.0.0
)
replace github.com/<name>/players => ./players
Это позволяет мне сделать import "github.com/<name>/players"
в моем файле main.go
.
Теперь этот подход работает и был взят из здесь , но я не уверен, является ли это правильным подходом или этот подход предназначен только для временного обновления локального пакета, пока он находится вне контроля версий.
Другой вариант, который кажется немного излишним, - сделать каждый модуль своим собственным хранилищем?
TL; DR; - Как лучше всего использовать несколько модулей в одном репозитории и импортировать их в другие модули / корневой файл main.go
?