激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Golang - 在Golang代碼中如何自動(dòng)生成版本號(hào)的方法示例

在Golang代碼中如何自動(dòng)生成版本號(hào)的方法示例

2020-05-07 11:43andy zhang Golang

這篇文章主要給大家介紹了在Golang代碼中如何自動(dòng)生成版本號(hào)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。

前言

以前在寫C/C++代碼時(shí),可以在代碼中預(yù)定義一些版本宏定義,然后再編譯時(shí)從外部傳入數(shù)據(jù)作為版本號(hào)。 golang代碼不支持宏定義,如果每次在代碼中硬編碼版本信息,一來費(fèi)時(shí)費(fèi)力,二來很容易忘記更新。

如何更優(yōu)雅的維護(hù)golang程序的版本號(hào)呢?

翻閱golang文檔之后,在go build發(fā)現(xiàn)下面的參數(shù)

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

然后在linker中發(fā)現(xiàn):

?
1
2
3
4
-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.

按照文檔中的說明應(yīng)該是在build時(shí),通過-ldflags設(shè)定linker的參數(shù)。 然后再通過linker的-X來修改指定路徑下面的變量值。

按照這個(gè)邏輯,我們改寫下面的程序:

?
1
2
3
4
5
6
7
8
9
10
11
package main
 
import (
 "fmt"
)
 
var _VERSION_ = "unknown"
 
func main() {
 fmt.Printf("Version:[%s]\n", _VERSION_)
}

執(zhí)行下面的build命令:

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

在執(zhí)行程序時(shí),就可以看到輸出預(yù)定義的版本號(hào)了。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

原文鏈接:https://chinazt.cc/2017/06/02/zai-golangdai-ma-zhong-zi-dong-sheng-cheng-ban-ben-hao-de-fang-shi/

延伸 · 閱讀

精彩推薦
  • GolangGolang通脈之?dāng)?shù)據(jù)類型詳情

    Golang通脈之?dāng)?shù)據(jù)類型詳情

    這篇文章主要介紹了Golang通脈之?dāng)?shù)據(jù)類型,在編程語言中標(biāo)識(shí)符就是定義的具有某種意義的詞,比如變量名、常量名、函數(shù)名等等,Go語言中標(biāo)識(shí)符允許由...

    4272021-11-24
  • Golanggo語言制作端口掃描器

    go語言制作端口掃描器

    本文給大家分享的是使用go語言編寫的TCP端口掃描器,可以選擇IP范圍,掃描的端口,以及多線程,有需要的小伙伴可以參考下。 ...

    腳本之家3642020-04-25
  • GolangGolang中Bit數(shù)組的實(shí)現(xiàn)方式

    Golang中Bit數(shù)組的實(shí)現(xiàn)方式

    這篇文章主要介紹了Golang中Bit數(shù)組的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧...

    天易獨(dú)尊11682021-06-09
  • Golanggolang如何使用struct的tag屬性的詳細(xì)介紹

    golang如何使用struct的tag屬性的詳細(xì)介紹

    這篇文章主要介紹了golang如何使用struct的tag屬性的詳細(xì)介紹,從例子說起,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看...

    Go語言中文網(wǎng)11352020-05-21
  • Golanggo日志系統(tǒng)logrus顯示文件和行號(hào)的操作

    go日志系統(tǒng)logrus顯示文件和行號(hào)的操作

    這篇文章主要介紹了go日志系統(tǒng)logrus顯示文件和行號(hào)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧...

    SmallQinYan12302021-02-02
  • Golanggolang 通過ssh代理連接mysql的操作

    golang 通過ssh代理連接mysql的操作

    這篇文章主要介紹了golang 通過ssh代理連接mysql的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧...

    a165861639710342021-03-08
  • Golanggolang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法

    今天小編就為大家分享一篇golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧 ...

    李浩的life12792020-05-27
  • Golanggolang的httpserver優(yōu)雅重啟方法詳解

    golang的httpserver優(yōu)雅重啟方法詳解

    這篇文章主要給大家介紹了關(guān)于golang的httpserver優(yōu)雅重啟的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,...

    helight2992020-05-14
主站蜘蛛池模板: 日本高清一级片 | 天天透天天狠天天爱综合97 | 天天草天天爱 | 欧美1| 国产精品1区 | 羞羞网站在线观看入口免费 | 中文字幕精品亚洲 | 亚洲午夜精选 | 亚洲一区 国产精品 | 欧美激情性色生活片在线观看 | 久久国产精品久久精品国产演员表 | 五月激情久久 | 欧美国产一区二区三区 | av电影院在线观看 | 欧美精品一区自拍a毛片在线视频 | 成人一区二区在线观看视频 | 色女生影院 | 97中文| 久久国产精品久久精品国产演员表 | 亚洲精品永久视频 | 亚洲一区二区三区视频免费 | 欧美 亚洲 视频 | 久久精品网站视频 | 国产精品久久在线观看 | 久久久久久久免费视频 | 蜜桃网站在线观看 | 欧美成人一区二区三区 | 亚洲天堂在线电影 | 天堂福利电影 | 亚洲精品无码不卡在线播放he | 斗破苍穹在线观看免费完整观看 | 美女毛片儿 | 欧美精品一区二区三区在线 | 欧美精品一区二区中文字幕 | 97zyz成人免费视频 | 久久久精品视频免费 | 九九视频精品在线观看 | 久久精品国产清自在天天线 | 一区二区久久电影 | 成人福利网 | 一区在线免费视频 |