Дозвольте мені визначити це спочатку 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