WBlog

哀吾生之须臾,羡长江之无穷

0%

GO模块导入示例

Go 语言的 Module 新特性是在 go1.11 的发布之后才支持的,这是 Go 语言新的一套依赖管理系统。

以下是一个go语言自定义包并引入的示例

1. 创建calc包

首先创建一个目录用于存放接下来放的包

1
mkdir pack

进入目录并创建calc文件夹

在其中创建sum.go文件

并写入

1
2
3
4
5
package calc

func Sum(a, b int) int {
return a + b
}

然后在当前目录执行

1
go mod init github.com/wwhds/calc

此时我们就拥有了一个本地的包

2. 创建hello包

回退到上一层的文件夹

创建hello文件夹

在其中创建hello.go文件并写入

1
2
3
4
5
6
7
8
9
10
package main

import (
"fmt"
"github.com/wwhds/calc"
)

func main() {
fmt.Println(calc.Sum(12, 23))
}

然后创建go.mod文件并写入

1
2
3
4
5
module hello

go 1.22

replace github.com/wwhds/calc => ../calc

由于我们是本地包,所以需要通过replace来替换路径

3. 创建工作区

回到上一级目录

创建go.work并写入

1
2
3
4
5
6
go 1.22

use (
hello
calc
)

4. 运行

回到hello目录下

执行

1
go run hello.go

输出

1
35