Go包管理
本地项目管理
Go 项目结构如下
├─GoPackage
│ ├─A
│ │ │ go.mod
│ │ │ main.go
│ │ │
│ │ └─B
│ │ B.go
│ │
│ └─C
│ C.go
│ go.mod
其中,A,B,C为文件夹名称,A与C同级,B在A中,现在要做的即在A的main.go
中调用B与C文件夹中的包。
B文件夹下内容为
//B.go
package B
import "fmt"
func Do() {
fmt.Println("B is doing something...")
}
C文件夹下的内容
//go.mod
module C
go 1.17
//C.go
package C
import "fmt"
func Run() {
fmt.Println("C is runing...")
}
要想实现如上所述的调用,则A文件夹下的内容为
//go.mod
module A
go 1.17
require GoPackage/C v0.0.0
replace GoPackage/C => ../C
//main.go
package main
import (
"A/B"
"GoPackage/C"
)
func main() {
B.Do()
C.Run()
}
远程包管理
【挖个坑】