全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

前言

以前在写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  # 版本号  # go  # 自动生成版本号  # Go Generate 代替 Makefile使用方法详解  # go语言代码生成器code generator使用示例介绍  # 解析golang 标准库template的代码生成方法  # Go 代码生成工具详解  # go generate代码自动生成指南  # 然后再  # 文档  # 是在  # 很容易  # 不支持  # 这篇文章  # 谢谢大家  # 就可以  # 号了  # 变量值  # 有疑问  # plain  # list  # pass  # ldflags  # flag  # link  # invocation  # linker  # arguments 


相关文章: 如何通过FTP空间快速搭建安全高效网站?  建站之星如何开启自定义404页面避免用户流失?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Swift中switch语句区间和元组模式匹配  网站app免费制作软件,能免费看各大网站视频的手机app?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  学校建站服务器如何选型才能满足性能需求?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  制作销售网站教学视频,销售网站有哪些?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  装修招标网站设计制作流程,装修招标流程?  如何快速启动建站代理加盟业务?  如何挑选高效建站主机与优质域名?  建站之星下载版如何获取与安装?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  如何规划企业建站流程的关键步骤?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  如何在阿里云完成域名注册与建站?  红河网站制作公司,红河事业单位身份证如何上传?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  如何快速查询网址的建站时间与历史轨迹?  如何在阿里云购买域名并搭建网站?  如何快速搭建高效可靠的建站解决方案?  宝塔Windows建站如何避免显示默认IIS页面?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  建站主机类型有哪些?如何正确选型  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  ,南京靠谱的征婚网站?  长沙企业网站制作哪家好,长沙水业集团官方网站?  实现虚拟支付需哪些建站技术支撑?  如何快速生成橙子建站落地页链接?  如何配置FTP站点权限与安全设置?  建站之星3.0如何解决常见操作问题?  如何配置IIS站点权限与局域网访问?  清除minerd进程的简单方法  如何快速搭建高效服务器建站系统?  南宁网站建设制作定制,南宁网站建设可以定制吗?  建站之星后台密码如何安全设置与找回?  如何用VPS主机快速搭建个人网站?  免费视频制作网站,更新又快又好的免费电影网站?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  h5在线制作网站电脑版下载,h5网页制作软件?  如何在腾讯云服务器快速搭建个人网站?  小建面朝正北,A点实际方位是否存在偏差?  ,在苏州找工作,上哪个网站比较好?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  如何通过老薛主机一键快速建站?  如何选择高性价比服务器搭建个人网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。