debug/buildinfo

Guided tour · Runtime & Debug · pkg.go.dev →

Read build info embedded in a Go binary on disk (module path, version, VCS revision).

Usage

ReadFile

info, err := buildinfo.ReadFile("/usr/local/bin/mytool")
if err != nil { log.Fatal(err) }
fmt.Println(info.GoVersion, info.Main.Path, info.Main.Version)
for _, s := range info.Settings {
    if s.Key == "vcs.revision" { fmt.Println("rev:", s.Value) }
}

Read

f, _ := os.Open("mytool")
info, _ := buildinfo.Read(f)