Go 语言的 Module 新特性是在 go1.11 的发布之后才支持的,这是 Go 语言新的一套依赖管理系统。
以下是一个go语言自定义包并引入的示例
1. 创建calc包
首先创建一个目录用于存放接下来放的包
mkdir pack
进入目录并创建calc文件夹
在其中创建sum.go文件
并写入
package calc
func Sum(a, b int) int {
return a + b
}
然后在当前目录执行
go mod init github.com/wwhds/calc
此时我们就拥有了一个本地的包
2. 创建hello包
回退到上一层的文件夹
创建hello文件夹
在其中创建hello.go文件并写入
package main
import (
"fmt"
"github.com/wwhds/calc"
)
func main() {
fmt.Println(calc.Sum(12, 23))
}
然后创建go.mod文件并写入
module hello
go 1.22
replace github.com/wwhds/calc => ../calc
由于我们是本地包,所以需要通过replace来替换路径
3. 创建工作区
回到上一级目录
创建go.work并写入
go 1.22
use (
hello
calc
)
4. 运行
回到hello目录下
执行
go run hello.go
输出
35