При использовании модулей GOPATH больше не используется для разрешения импорта. Однако он все еще используется для хранения загруженного исходного кода (в GOPATH/pkg/mod) и скомпилированных команд (в GOPATH/bin).
Внутренние каталоги
Код внутри или ниже каталога с именем "internal" импортируется только кодом в дереве каталогов, корнем которого является родительский элемент "internal". Вот расширенная версия макета каталога из поста:
/home/user/go/
src/
crash/
bang/ (go код в пакете bang)
b.go
foo/ (go код в пакете foo)
f.go
bar/ (go код в пакете bar)
x.go
internal/
baz/ (go код в пакете baz)
z.go
quux/ (go код в пакете main)
y.go
Код в z.go импортируется как "foo/internal/baz", но этот оператор импорта может появляться только в исходных файлах в поддереве с корнем в foo. Исходные файлы foo/f.go, foo/bar/x.go и foo/quux/y.go могут импортировать "foo/internal/baz", но исходный файл crash/bang/b.go не может.
Читайте также:
Комментариев нет:
Отправить комментарий