为Golang程序打上编译标记
来源:互联网 发布:简洁大气 网站 源码 编辑:程序博客网 时间:2024/06/09 18:11
http://wendal.net/2014/04/02.html
参考文章: http://stackoverflow.com/questions/11354518/golang-application-auto-build-versioning
昨天在查询怎么生成一个小体积的golang程序的时候,无意中发现这个文章.
对于固定的代码,及固定的golang版本,下面的命令总是得到一模一样的程序
go build
有时候需要为每个编译都打上标记,不然真的很乱啊
演示用的golang代码
package mainvar _VERSION_ = "unknown"func main() { print("http_su ver=" + _VERSION_ + "\n")}
编译时,加入需要的版本号信息,而不是直接去改main.go的源码
export TAG=v1.b.50go build -ldflags "-X main._VERSION_ '$TAG'"
运行结果:
> go build> ./demohttp_su ver=unknown> export TAG=v.1.b.50> go build -ldflags "-X main._VERSION_ '$TAG'"> ./demohttp_su ver=v.1.b.50
可以看到, 版本号根据编译参数的变化而变化了. 关键点是, 必须是 $package.$varName
本demo在linux/macos/windows/arm下测试通过.
0 0
- 为Golang程序打上编译标记
- 给程序打上编译时间
- 为图片打上水印
- golang编译arm平台程序
- 为上传图片打上水印
- android 为图片打上水印
- 为SwipeMenuListView 打上注释 (仅供参考)
- 为内核打上yaffs2 补丁
- 为Apk打上系统签名
- MacOSX交叉编译Win_x86的GoLang程序
- VSCode从非根目录编译golang程序
- golang程序的跨平台编译
- LiteIde 编译golang程序提示缺少-i
- 注册golang程序为windows服务
- 编译安装golang1.7及golang程序的交叉编译
- 高德地图通过经纬度定位并打上标记
- 如何为Linux生成和打上patch
- 如何为Linux生成和打上patch
- Ren'Py引擎源代码解读(1)——脚本文件加载
- 社交招聘网络Linkedin的使用体验(HR招聘篇7)
- 十一月月末总结
- Hadoop中HDFS文件系统的Append/Hflush/Read设计文档(HDFS-265:Revisit append)
- 浅析ios开发中Block块语法的妙用
- 为Golang程序打上编译标记
- 社交招聘网络Linkedin的使用体验(HR招聘篇8)
- keychain的使用
- 从github下载最新Android源码
- kruskalMST
- FZU Problem 2146 Easy Game ( 数学啊)
- DLL中调用约定和名称修饰
- 11091 最优自然数分解问题(贪心)
- 连接MySQL数据库时出现The dirver has not received any packets from the server