package version import ( "encoding/json" "flag" "fmt" "os" ) var ( BuildVersion string BuildTime string CommitSha1 string AppName string ) func init() { var showVer bool flag.BoolVar(&showVer, "v", false, "display build version") flag.Parse() if showVer { info := make(map[string]interface{}) info["version"] = BuildVersion info["build"] = BuildTime info["commit"] = CommitSha1 info["name"] = AppName b, err := json.Marshal(info) if nil != err { fmt.Println("internal error:", err) os.Exit(1) } else { fmt.Println(string(b)) os.Exit(0) } } }