发布时间:2022-08-19 12:54
1:导入本地包
情况:有两个包不在同一个目录下,这个时候该怎么解决
本地的包没有发布到远程,这个情况的解决方法如下
使用replace语法,举例子:
我们现在有文件目录结构如下
├── p1
│ ├── go.mod
│ └── main.go
└── p2
├── go.mod
└── p2.go
p1/main.go中想要导入p2.go中定义的函数
p2/go.mod内容如下:
module liugong.com/addx/p2
go 1.14
p1/main.go中按如下方式导入
import (
"fmt"
"liugong.com/addx/p2"
)
func main() {
p2.New()
fmt.Println("main")
}
因为我并没有把liugong.com/addx/p2这个包上传到liugong.com这个网站,只是想导入本地的包,这个时候就需要用到replace这个指令了。
p1/go.mod内容如下:
module liugong.com/q1mi/p1
go 1.14
require "liugong.com/addx/p2" v0.0.0
replace "liugong.com/addx/p2" => "../p2"