亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 詳解如何在Go項目中輸出版本信息

詳解如何在Go項目中輸出版本信息

熱門標簽:福州鐵通自動外呼系統 智能電銷機器人營銷 長沙ai機器人電銷 賺地圖標注的錢犯法嗎 廣東語音外呼系統供應商 烏魯木齊人工電銷機器人系統 濮陽自動外呼系統代理 地圖標注測試 澳門防封電銷卡

我們經常在使用CLI工具的時候,都會有這樣的參數輸出:

➜ ~ docker version
Client: Docker Engine - Community
 Version:   18.09.2
 API version:  1.39
 Go version:  go1.10.8
 Git commit:  6247962
 Built:    Sun Feb 10 04:12:39 2019
 OS/Arch:   darwin/amd64
 Experimental:  false
➜ ~

可以打印出構建時對應的版本信息,比如 Version,Go Version,Git Commit等,這個是如何實現的呢?

實現

主要是通過ldflags參數來實現在構建的時候對變量進行賦值。

比如下面一段代碼:

package main

import (
 "flag"
 "fmt"
 "os"
)

//需要賦值的變量
var version = ""

//通過flag包設置-version參數
var printVersion bool

func init() {
 flag.BoolVar(printVersion, "version", false, "print program build version")
 flag.Parse()
}

func main() {
 if printVersion {
  println(version)
  os.Exit(0)
 }
 fmt.Printf("example for print version")
}

構建命令:

go build -ldflags "-X main.version=v0.1" -o example

程序輸出:

➜ ./example
version=v0.1

參數說明

1、-ldflags build命令中用于調用接鏈接器的參數

-ldflags '[pattern=]arg list'
 arguments to pass on each go tool link invocation.

2、-X 鏈接器參數,主要用于設置變量

-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.

一個完整的例子

這里將version包單獨做了一個包存放,只需要引入即可:

package main

import (
  "flag"

  "github.com/go-demo/version"
)

//通過flag包設置-version參數
var printVersion bool

func init() {
  flag.BoolVar(printVersion, "version", false, "print program build version")
  flag.Parse()
}

func main() {
  if printVersion {
    version.PrintVersion()
  }
}

構建的shell如下(也可以放在Makefile中):

#!/bin/sh
version="v0.1"
path="github.com/go-demo/version"
flags="-X $path.Version=$version -X '$path.GoVersion=$(go version)' -X '$path.BuildTime=`date +"%Y-%m-%d %H:%m:%S"`' -X $path.GitCommit=`git rev-parse HEAD`"
go build -ldflags "$flags" -o example example-version.go

TIPS: 如果值內容中含有空格,可以用單引號

最終版本輸出:

➜ sh build.sh
➜ ./example -version
Version: v0.1
Go Version: go version go1.13.1 darwin/amd64
Git Commit: a775ecd27c5e78437b605c438905e9cc888fbc1c
Build Time: 2020-01-09 19:01:51

完整代碼:https://github.com/go-demo/version

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 在Golang代碼中如何自動生成版本號的方法示例
  • golang如何實現mapreduce單進程版本詳解
  • 使用 Go 管理版本的方法示例
  • 淺析Go語言版本的forgery

標簽:阿克蘇 慶陽 調研邀請 德州 西雙版納 貴陽 廣西 太原

巨人網絡通訊聲明:本文標題《詳解如何在Go項目中輸出版本信息》,本文關鍵詞  詳解,如,何在,項,目中,輸出,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解如何在Go項目中輸出版本信息》相關的同類信息!
  • 本頁收集關于詳解如何在Go項目中輸出版本信息的相關信息資訊供網民參考!
  • 推薦文章
    欧美另类videosbestsex久久| 国产成人精品影视| 日韩一级黄色| 国产一区二区高清视频| 国产一区二区精品| 青青久久国产成人免费网站| 成人影院久久久久久影院| 亚欧乱色一区二区三区| 欧美激情一区二区三区视频高清| 国产一区二区精品在线观看| 二级特黄绝大片免费视频大片| 精品久久久久久影院免费| 日韩中文字幕在线观看视频| 亚洲天堂在线播放| 国产精品自拍亚洲| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 香蕉视频久久| 中文字幕一区二区三区 精品| 亚久久伊人精品青青草原2020| 欧美国产日韩精品| 欧美另类videosbestsex久久 | 999精品在线| 国产视频在线免费观看| 九九精品在线| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久精品店| 国产欧美精品| 国产精品免费久久| 美女免费毛片| 日本在线不卡视频| 欧美1区| 香蕉视频久久| 久久成人性色生活片| 免费的黄色小视频| 国产一区二区福利久久| 九九干| 国产成a人片在线观看视频| 免费的黄色小视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 91麻豆精品国产片在线观看| 日韩av片免费播放| 国产91丝袜在线播放0| 久久精品欧美一区二区| 国产精品免费久久| 国产成人欧美一区二区三区的| 成人a级高清视频在线观看| 精品视频在线看 | 欧美a免费| 成人免费一级纶理片| 亚洲精品久久玖玖玖玖| 高清一级做a爱过程不卡视频| 亚洲精品中文一区不卡| 一级片免费在线观看视频| 日韩字幕在线| 日韩综合| 日韩在线观看视频免费| 久久国产精品自由自在| 成人在激情在线视频| 久久久久久久久综合影视网| 国产不卡在线观看| 国产一区二区精品在线观看| 久草免费在线观看| 国产成人啪精品视频免费软件| 久久久久久久男人的天堂| 成人免费网站视频ww| 日本伦理片网站| 一级女人毛片人一女人| 韩国三级视频网站| 欧美另类videosbestsex视频| 国产网站免费在线观看| 日韩男人天堂| 日韩女人做爰大片| 国产综合91天堂亚洲国产| 国产激情视频在线观看| a级黄色毛片免费播放视频| 国产不卡福利| 国产a一级| 国产不卡精品一区二区三区| 精品视频免费观看| 国产一区二区精品尤物| 国产麻豆精品免费密入口| 久久国产影视免费精品| 日韩在线观看视频网站| 精品国产一区二区三区免费 | 你懂的国产精品| 欧美a级成人淫片免费看| 高清一级做a爱过程不卡视频| 色综合久久天天综合| 精品国产一区二区三区国产馆| 香蕉视频久久| 亚洲精品影院一区二区| 精品国产一级毛片| 九九九国产| 99久久精品国产麻豆| 成人a大片在线观看| 国产网站免费在线观看| 欧美大片aaaa一级毛片| 国产亚洲免费观看| 国产麻豆精品hdvideoss| 国产精品自拍在线| 欧美激情一区二区三区在线播放| 日韩专区一区| 国产伦久视频免费观看 视频| 91麻豆精品国产片在线观看| 日本免费乱人伦在线观看| 欧美激情一区二区三区在线| 精品国产一区二区三区久久久狼| 色综合久久天天综合绕观看| 天天做人人爱夜夜爽2020| 午夜激情视频在线观看| 精品国产一区二区三区国产馆| 91麻豆tv| 麻豆午夜视频| 可以免费在线看黄的网站| 黄视频网站在线观看| 国产一区二区精品久久91| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 免费一级片在线| 日韩在线观看视频网站| 亚洲精品中文字幕久久久久久| 国产伦精品一区二区三区在线观看 | 欧美国产日韩一区二区三区| 亚洲 欧美 成人日韩| 美国一区二区三区| 一级毛片视频在线观看| 国产视频网站在线观看| 日韩专区一区| 久草免费在线色站| 亚洲精品影院一区二区| 欧美电影免费| 九九久久国产精品| 国产视频在线免费观看| 韩国三级视频网站| 99久久精品国产国产毛片| 久久99青青久久99久久| 日日夜夜婷婷| 国产原创视频在线| 久久99中文字幕| 精品国产亚洲一区二区三区| 久久成人性色生活片| 亚洲精品影院一区二区| 日韩专区一区| 沈樵在线观看福利| 国产国语在线播放视频| 黄色短视屏| 色综合久久天天综合观看| 久久福利影视| 午夜精品国产自在现线拍| 欧美电影免费看大全| 韩国毛片基地| 国产91素人搭讪系列天堂| 国产国语在线播放视频| 日韩在线观看免费| 免费的黄视频| 欧美18性精品| 黄色免费三级| 日本在线不卡视频| 午夜在线观看视频免费 成人| 在线观看成人网| 国产伦久视频免费观看视频| 日韩欧美一二三区| 久久成人性色生活片| 青青久久精品| 日韩欧美一二三区| 黄视频网站免费看| 国产一区二区福利久久| 日韩av成人| 国产精品1024永久免费视频| 精品视频在线看| 国产麻豆精品hdvideoss| 黄色免费三级| 欧美a级成人淫片免费看| 精品在线观看一区| 日韩一级黄色大片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产亚洲精品成人a在线| 香蕉视频久久| 精品视频一区二区| 麻豆系列 在线视频| 四虎影视库| 国产成a人片在线观看视频| 亚洲www美色| 高清一级做a爱过程不卡视频| 欧美另类videosbestsex视频| 91麻豆爱豆果冻天美星空| 精品国产一区二区三区精东影业| 午夜欧美成人久久久久久| 国产一区二区精品尤物| 精品国产一区二区三区免费 | 你懂的日韩| 日韩专区一区| 欧美激情伊人| 国产一区二区精品在线观看| 99久久精品国产国产毛片| 日日爽天天| 欧美激情一区二区三区视频高清| 久久99爰这里有精品国产| 91麻豆爱豆果冻天美星空| 免费国产在线观看| 国产美女在线一区二区三区|