婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解如何在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項目中輸出版本信息的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产白丝精品91爽爽久久| 国产真实乱子伦精品视频| 中文一区二区在线观看| 亚洲精品久久久久久国产精华液| 蜜臀精品久久久久久蜜臀 | 欧美日韩国产经典色站一区二区三区| 久久综合久久综合九色| 亚洲一区在线免费观看| 欧美亚洲国产一区二区三区va | 亚洲综合在线视频| 欧美日韩视频在线一区二区| ...中文天堂在线一区| 成人自拍视频在线| 亚洲精品免费在线观看| 欧美日韩一卡二卡| 免费看日韩a级影片| 久久久美女毛片| 91香蕉视频在线| 国产精品一区二区x88av| 欧美成人艳星乳罩| 国产在线视频精品一区| 日韩一区二区三区av| 看电视剧不卡顿的网站| 久久久国产一区二区三区四区小说 | 国产精品成人在线观看| 麻豆成人久久精品二区三区小说| 国产福利一区二区三区视频| 99久久国产免费看| 国产91清纯白嫩初高中在线观看 | 久久久蜜臀国产一区二区| 日韩欧美电影在线| 日本一区二区三级电影在线观看 | 天天色综合天天| 美日韩一区二区| 韩国av一区二区| 99re热视频精品| 在线国产电影不卡| 亚洲成人激情社区| 精品精品国产高清一毛片一天堂| 免费精品视频最新在线| 国产精品美女www爽爽爽| 综合在线观看色| 成人免费毛片a| 欧洲日韩一区二区三区| 裸体在线国模精品偷拍| 亚洲情趣在线观看| 国产精品国产三级国产aⅴ入口| 99国产精品久久| jizz一区二区| 成人自拍视频在线观看| 国产一二三精品| 水野朝阳av一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 蜜桃av一区二区| 亚洲成人中文在线| 国产在线一区二区综合免费视频| 精品在线一区二区三区| 不卡一区二区中文字幕| 欧美日韩电影在线播放| 久久久久久久综合日本| 一区二区三区日韩精品| 久久精品国产99国产精品| 成人黄色网址在线观看| 欧美中文字幕不卡| 国产欧美一区二区精品秋霞影院| 亚洲色图在线视频| 日韩激情一区二区| 国产精品一区二区视频| 色哟哟国产精品免费观看| 亚洲激情在线播放| 欧美一区二区三区免费视频| 日av在线不卡| 中文字幕av资源一区| 一区二区三区免费观看| 丁香网亚洲国际| 欧美性色黄大片| 亚洲福利国产精品| 欧美三级在线视频| 午夜久久久久久| 欧美老年两性高潮| 国产资源在线一区| 国产精品嫩草影院av蜜臀| 成人免费黄色在线| 国产精品麻豆久久久| 99re这里只有精品视频首页| 亚洲免费伊人电影| 91精品婷婷国产综合久久性色| 一级日本不卡的影视| 欧美日韩国产高清一区二区三区 | 亚洲激情在线播放| 久久蜜桃一区二区| 91精品欧美一区二区三区综合在| 99久久久久久| av不卡一区二区三区| 成人在线视频一区二区| 国内精品不卡在线| 处破女av一区二区| 91女神在线视频| 欧美精品免费视频| 日韩欧美成人激情| 欧美韩国日本一区| 亚洲男人电影天堂| 日韩电影免费一区| 麻豆精品国产传媒mv男同| 久久精品99国产精品日本| 国内久久精品视频| 国产婷婷色一区二区三区在线| 美女免费视频一区二区| 日本亚洲电影天堂| 日本午夜一区二区| 国产一区二区精品久久99| 五月天亚洲精品| 精一区二区三区| 国产高清精品网站| 色婷婷综合久久久中文一区二区 | 成人国产在线观看| 国产精品一二三四区| 成人v精品蜜桃久久一区| 91在线观看视频| 91精品国产综合久久精品 | 国产乱对白刺激视频不卡| 在线观看www91| 日韩色在线观看| 一区二区三区在线观看欧美| 免费成人你懂的| caoporn国产一区二区| 久久蜜桃av一区精品变态类天堂 | 色婷婷国产精品久久包臀 | 日韩成人一区二区三区在线观看| 欧美国产一区视频在线观看| 国产视频一区二区在线观看| 亚洲精品一区二区三区精华液| 8x福利精品第一导航| 欧美肥胖老妇做爰| 欧美成人伊人久久综合网| 在线观看国产日韩| 日韩精品一区二区三区中文不卡| 中日韩免费视频中文字幕| 亚洲一区二区三区四区的| 日本亚洲最大的色成网站www| 国内精品不卡在线| 欧美日韩免费不卡视频一区二区三区| 欧美日韩在线三级| 欧美激情综合五月色丁香小说| 亚洲男人的天堂av| 国产美女视频91| 欧美一级久久久| 亚洲一二三四在线| 成人精品视频一区二区三区尤物| 欧美一二三四区在线| 午夜精品福利一区二区三区蜜桃| 风间由美一区二区av101| 日韩精品一区二区三区中文不卡| 亚洲一线二线三线视频| 一本大道av伊人久久综合| 一色屋精品亚洲香蕉网站| 极品瑜伽女神91| 精品日韩一区二区三区免费视频| 午夜久久久久久| 日韩欧美激情四射| 精品亚洲成av人在线观看| 日韩色视频在线观看| 狠狠网亚洲精品| 久久久久久久精| 91一区一区三区| 亚洲影视在线观看| 91精品国产综合久久久久久 | 五月婷婷综合激情| 欧美裸体一区二区三区| 五月天激情综合| 精品久久国产字幕高潮| 国产一区二区三区在线观看精品 | 亚洲综合图片区| 欧洲色大大久久| 国产精品影视天天线| 久久午夜电影网| 欧美视频精品在线| 国产精品123区| 麻豆国产精品777777在线| 一区二区三区国产精华| 亚洲国产人成综合网站| 日产欧产美韩系列久久99| 99综合影院在线| 日产精品久久久久久久性色| 国产日本亚洲高清| 欧美精品三级在线观看| 成人av在线一区二区三区| 日本一道高清亚洲日美韩| 亚洲三级电影全部在线观看高清| 日韩一区二区三区av| 色94色欧美sute亚洲线路一ni| 国产一区91精品张津瑜| 亚洲成av人综合在线观看| 欧美经典一区二区| 日韩免费一区二区| 欧美精品第1页| 在线成人av网站| 精品久久久久久最新网址| 精品理论电影在线观看| 久久综合狠狠综合久久激情|