// GoVersion reports the minor version number of the highest release // tag built into the go command on the PATH. // // Note that this may be higher than the version of the go tool used // to build this application, and thus the versions of the standard // go/{scanner,parser,ast,types} packages that are linked into it. // In that case, callers should either downgrade to the version of // go used to build the application, or report an error that the // application is too old to use the go command on the PATH. func GoVersion(ctx context.Context, inv Invocation, r *Runner) (int, error) { … } // GoVersionOutput returns the complete output of the go version command. func GoVersionOutput(ctx context.Context, inv Invocation, r *Runner) (string, error) { … } // ParseGoVersionOutput extracts the Go version string // from the output of the "go version" command. // Given an unrecognized form, it returns an empty string. func ParseGoVersionOutput(data string) string { … }