作者:LISA_W186 | 来源:互联网 | 2023-05-16 05:38
gomodules是golang1.11新加的特性。现在1.12已经发布了,是时候用起来了。modules官方定义为:模块是相关go包的集合。modules是源代码交换和版本控制的
go modules 是 golang 1.11 新加的特性。现在1.12 已经发布了,是时候用起来了。modules官方定义为:
模块是相关go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于gopath的方法来指定在给定构建中使用哪些源文件。
如何使用 modules ?
- 把 golang 升级到 1.11(现在1.12 已经发布了,建议使用1.12)
- 设置 go111module
go mod是go的一个模块管理工具,用来代替传统的gopath方案。下面是基本的使用方法:
假设我现在想要创建一个项目来学习go的语法,项目名为grammar,路径为 e:/go/grammar。
1、进入grammar文件夹
2、初始化目录
go mod init dayrain.cn/grammar
dayrain.cn/grammar是一个标识,一般是 主机名+模块名
初始化后,会自动创建一个go.mod文件,有go的版本号,以及所依赖的模块信息。
![详解go mod 使用方法](https://img1.php1.cn/3cd4a/2513d/42f/7421403d3c1bd36b.png)
3、导入自定义的模块
新建一个lib1包,写一个简单的加法函数
![详解go mod 使用方法](https://img1.php1.cn/3cd4a/2513d/42f/bbb9457d1f79c3c7.png)
add.go
package lib1 func add(a int, b int) int { return a + b }
在start.go中调用此方法
package main import ( "dayrain.cn/grammar/lib1" ) func main() { res := lib1.add(1, 1) print(res) }
运行结果(go run start.go):
![详解go mod 使用方法](https://img1.php1.cn/3cd4a/2513d/42f/73a58aedaf7fbf46.png)
4、导入本地没有的模块
比如我想用日志打印刚才的res,可以修改start.go文件
package main import ( "dayrain.cn/grammar/lib1" "github.com/golang/glog" ) func main() { res := lib1.add(1, 1) glog.info(res) }
这个时候vscode给出错误提示
![详解go mod 使用方法](https://img1.php1.cn/3cd4a/2513d/42f/e767503dff4c682f.png)
运行 go build命令
![详解go mod 使用方法](https://img1.php1.cn/3cd4a/2513d/42f/62060103253096a0.png)
提醒我们要先go get github.com/golang/glog 获取模块
获取成功后,go.mod多了一行require。
![详解go mod 使用方法](https://img1.php1.cn/3cd4a/2513d/42f/51da83a9dc62e9ce.png)
常用命令
1、初始化模块
2 、获取远程的模块
3、 查看当前依赖模块
![详解go mod 使用方法](https://img1.php1.cn/3cd4a/2513d/42f/0345f383b1f1dd48.png)
4、清除未使用到的依赖
到此这篇关于gomod使用方法的文章就介绍到这了,更多相关gomod使用内容请搜索<编程笔记>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<编程笔记>!
需要了解更多python教程分享详解go mod 使用方法,都可以关注python教程分享栏目&#8212;编程笔记