本地项目管理

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()
}

远程包管理

【挖个坑】

参考