Дозвольте мені визначити це спочатку modulesколекції packages. У Go 11 я використовую модулі go як нижче:
Якщо обидва пакети знаходяться в одному проекті, ви можете просто зробити наступне: In go.mod:
module github.com/userName/moduleName
і всередині вашого main.go
import "github.com/userName/moduleName/platform"
Однак, якщо це окремі модулі, тобто різні фізичні шляхи, і ви все одно хочете імпортувати local, 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"
Ось короткий вступ до модулів Golang