Позвольте мне определить это первым modules
являются коллекциями packages
. В Go 11 я использую go модули , как показано ниже:
Если оба пакета находятся в одном проекте, вы можете просто сделать следующее:
В go.mod
:
module github.com/userName/moduleName
и внутри вашего main.go
import "github.com/userName/moduleName/platform"
Однако, если они являются отдельными модулями, то есть разными физическими путями, и вы все еще хотите импортировать локальный packages
, не публикуя его, например, на github, вы можете достичь этого с помощью директивы replace
.
Учитывая имя модуля github.com/otherModule
и platform
, как вы его назвали, это единственный пакет внутри. В go.mod
вашего основного модуля добавьте следующие строки:
module github.com/userName/mainModule
require "github.com/userName/otherModule" v0.0.0
replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"
Примечание. Путь должен указывать на корневой каталог модуля и может быть абсолютным или относительным.
Внутри main.go
, для импорта определенного пакета, например platform
из otherModule
:
import "github.com/userName/otherModule/platform"
Вот нежное введение в модули Голанга