前言

以前在写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
相关文章:
如何在IIS中新建站点并解决端口绑定冲突?
企业微网站怎么做,公司网站和公众号有什么区别?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
如何在七牛云存储上搭建网站并设置自定义域名?
如何快速查询网站的真实建站时间?
Android使用GridView实现日历的简单功能
想学网站制作怎么学,建立一个网站要花费多少?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
如何在建站主机中优化服务器配置?
山东云建站价格为何差异显著?
高防服务器租用如何选择配置与防御等级?
高防服务器如何保障网站安全无虞?
如何在自有机房高效搭建专业网站?
如何在阿里云高效完成企业建站全流程?
建站之星如何助力企业快速打造五合一网站?
Python lxml的etree和ElementTree有什么区别
如何在橙子建站中快速调整背景颜色?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
开封网站制作公司,网络用语开封是什么意思?
宝塔面板如何快速创建新站点?
音响网站制作视频教程,隆霸音响官方网站?
利用JavaScript实现拖拽改变元素大小
如何在IIS中配置站点IP、端口及主机头?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
如何在Windows服务器上快速搭建网站?
建站OpenVZ教程与优化策略:配置指南与性能提升
宝塔新建站点为何无法访问?如何排查?
建站主机与虚拟主机有何区别?如何选择最优方案?
如何获取上海专业网站定制建站电话?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
建站主机如何选?性能与价格怎样平衡?
如何在西部数码注册域名并快速搭建网站?
如何在服务器上三步完成建站并提升流量?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
建站之星上传入口如何快速找到?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
黑客入侵网站服务器的常见手法有哪些?
建站之星伪静态规则如何设置?
如何挑选最适合建站的高性能VPS主机?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
如何在IIS中新建站点并配置端口与物理路径?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
建站之星代理如何获取技术支持?
音乐网站服务器如何优化API响应速度?
在线教育网站制作平台,山西立德教育官网?
建站上传速度慢?如何优化加速网站加载效率?
建站之星云端配置指南:模板选择与SEO优化一键生成
*请认真填写需求信息,我们会在24小时内与您取得联系。