让我先定义一下modules
是的集合packages
。在 Go 11 中,我使用去模块 https://github.com/golang/go/wiki/Modules像下面这样:
如果两个包都在同一个项目中,您可以执行以下操作:
在go.mod
:
module github.com/userName/moduleName
并在你的里面main.go
import "github.com/userName/moduleName/platform"
但是,如果它们是单独的模块,即不同的物理路径,并且您仍然希望导入本地packages
例如,无需将其远程发布到 github,您可以通过使用来实现此目的replace
指示。
给定模块名称github.com/otherModule
and 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"
注意:路径应指向模块的根目录,可以是绝对路径,也可以是相对路径。
Inside main.go
,导入特定的包,例如platform
from otherModule
:
import "github.com/userName/otherModule/platform"
这是一个温柔的介绍 https://ukiahsmith.com/blog/a-gentle-introduction-to-golang-modules/到 Golang 模块