主页 > 知识库 > 在Golang代码中如何自动生成版本号的方法示例

在Golang代码中如何自动生成版本号的方法示例

热门标签:浙江高频外呼系统多少钱一个月 汕头小型外呼系统 阿里云ai电话机器人 黄冈人工智能电销机器人哪个好 滨州自动电销机器人排名 郑州亮点科技用的什么外呼系统 建造者2地图标注 惠州电销防封电话卡 钉钉有地图标注功能吗

前言

以前在写C/C++代码时,可以在代码中预定义一些版本宏定义,然后再编译时从外部传入数据作为版本号。 golang代码不支持宏定义,如果每次在代码中硬编码版本信息,一来费时费力,二来很容易忘记更新。

如何更优雅的维护golang程序的版本号呢?

翻阅golang文档之后,在go build发现下面的参数

-ldflags 'flag list'
 arguments to pass on each go tool link invocation.

然后在linker中发现:

-X importpath.name=value
 Set the value of the string variable in importpath named name to value.
 Note that before Go 1.5 this option took two separate arguments.
 Now it takes one argument split on the first = sign.

按照文档中的说明应该是在build时,通过-ldflags设定linker的参数。 然后再通过linker的-X来修改指定路径下面的变量值。

按照这个逻辑,我们改写下面的程序:

package main

import ( 
 "fmt"
)

var _VERSION_ = "unknown"

func main() { 
 fmt.Printf("Version:[%s]\n", _VERSION_)
}

执行下面的build命令:

export TAG=dev-xxxx 
go build -ldflags "-X main._VERSION_='$TAG'" 

在执行程序时,就可以看到输出预定义的版本号了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:
  • 详解Golang 与python中的字符串反转
  • 深入理解golang的异常处理机制
  • Golang开发中常用的代码片段汇总
  • Golang中switch语句和select语句的用法教程
  • golang之log rotate详解
  • Golang读写Excel的方法教程
  • 利用Golang如何调用Linux命令详解
  • Golang多线程刷票的实现代码

标签:沧州 泰安 驻马店 昭通 东营 阿坝 泸州 晋中

巨人网络通讯声明:本文标题《在Golang代码中如何自动生成版本号的方法示例》,本文关键词  在,Golang,代码,中,如何,自动生成,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《在Golang代码中如何自动生成版本号的方法示例》相关的同类信息!
  • 本页收集关于在Golang代码中如何自动生成版本号的方法示例的相关信息资讯供网民参考!
  • 推荐文章