首先不推荐相对路径,mod下不允许
对于不同mod的引用
- 比如要引用
github.com/hhh/cache2go
,这个包的路径是假的,还没发布。 import "github.com/hhh/cache2go"
用的时候必须写mod name,不能写相对路径go mod init -replace github.com/hhh/cache2go => ../cache2go
这一步会修改go.mod
go get github.com/hhh/cache2go
这个时候就是install的本地项目了,或者用go install
对于同一个mod下引用其他package
- 还是这个例子,
import "github.com/hhh/cache2go"
- 只要在一个mod里,就可以直接用,go会帮你找的
mod name + package name
- 上面举的例子都是直接import
mod name
,因为package name
就是cache2go
,就位于go.mod同级目录
。如果有多级目录(多个package),那就应该还加上package name