22、Go编程:包、函数与系统编程全解析

Go编程:包、函数与系统编程全解析

1. Go包与函数中的版本控制

在Go编程中,若要使用GitHub的值作为版本字符串,我们需要获取当前仓库最新提交的哈希值。可以使用 git rev-list HEAD 命令返回当前仓库从最新到最旧的完整提交列表,但我们仅需最新的那一个。获取最新提交哈希值可使用 git rev-list -1 HEAD git rev-list HEAD | head -1

接下来,我们要将该值赋给环境变量,并传递给Go编译器。由于每次提交时该值都会改变,且我们总是希望使用最新值,因此每次执行 go build 时都应重新评估该值。具体操作如下:

$ export VERSION=$(git rev-list -1 HEAD)
$ go build -ldflags "-X main.VERSION=$VERSION" gitVersion.go

若想同时执行这两条命令,可使用如下方式:

$ export VERSION=$(git rev-list -1 HEAD) && go build -ldflags "-X main.VERSION=$VERSION" gitVersion.go

运行生成的可执行文件 gitVersion ,输出结果类似如下:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值