4.5 使用Go Modules自定义模块

在我们开发项目时,总会使用到第三方的库来简化我们的开发,所以几乎每一种开发语言都会有自身的包管理机制,例如:Python中的PIP,Java中的Maven,Node.js中的NPM等。如果有看过一些Go的项目,会发现代码的根目录都会有go.mod文件,这是Go中对项目模块集中管理的方式,也是可以将自身作为模块供其他模块使用的方式。本文档主要参考官方的教程《Tutorial: Create a Go module》(https://go.dev/doc/tutorial/create-module)思路,对内容部分进行了简化和调整。

上一节中,GOPATH方式虽然解决了包的引用问题,但是从不够灵活,也不利于包的传输,所以在1.1版本推出了Go Modules,到了1.4版本已经是生产可用状态,我们看到目前很多大型项目基本都是采用这种方式来管理自己的包,这一部分将会在Go Modules单独进行讲解。所以在开始之前,一定要确认GO111MODULE状态,要将GO111MODULE设置为on。

# 查看状态
go env GO111MODULE

# 通过环境变量设置状态(临时)
export GO111MODULE=on

# 永久生效
# go env -w GO111MODULE=on

另外在上一节,由于我们改变了默认的GOPATH位置,所以我们首先要还原一下GOPATH,默认的GOPATH就是用户$HOME/go路径,后续使用命令安装的包也会缓存于此。

go env -w GOPATH=""

常用命令

Go的模块管理工具是内置的,不需要单独安装。Go中与Modules管理主要使用go mod命令,命令列表如下,不用纠结这些命令该如何使用,通过下面的例子我们加以理解。

Go mod provides access to operations on modules.

Note that support for modules is built into all the go commands,
not just 'go mod'. For example, day-to-day adding, removing, upgrading,
and downgrading of dependencies should be done using 'go get'.
See 'go help modules' for an overview of module functionality.

Usage:

	go mod <command> [arguments]

The commands are:

	download    download modules to local cache
	edit        edit go
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孙正经胡说

创作不易,感谢您的关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值