// Package runtimeinfo implements the private runtime version state used by the // public buildinfo facade. package runtimeinfo import "runtime/debug" var injectedVersion string // Version returns the injected version or the running executable's main module // version, falling back to "dev" when neither provides a release identifier. func Version() string { return version(injectedVersion, debug.ReadBuildInfo) } func version(injected string, readBuildInfo func() (*debug.BuildInfo, bool)) string { if injected != "" { return injected } info, ok := readBuildInfo() if ok && info != nil && info.Main.Version != "" && info.Main.Version != "(devel)" { return info.Main.Version } return "dev" }