Documentation ¶
Index ¶
Constants ¶
const ( Go1_18 = "go1.18" Go1_19 = "go1.19" Go1_20 = "go1.20" Go1_21 = "go1.21" Go1_22 = "go1.22" )
GoVersions that features in x/tools can be gated to.
const Future = ""
Future is an invalid unknown Go version sometime in the future. Do not use directly with Compare.
Variables ¶
var ConstraintGoVersion func(x constraint.Expr) string
ConstraintGoVersion is constraint.GoVersion (if built with go1.21+). Otherwise nil.
Deprecate once x/tools is after go1.21.
Functions ¶
func AtLeast ¶ added in v0.19.0
AtLeast reports whether the file version v comes after a Go release.
Use this predicate to enable a behavior once a certain Go release has happened (and stays enabled in the future).
func Before ¶ added in v0.19.0
Before reports whether the file version v is strictly before a Go release.
Use this predicate to disable a behavior once a certain Go release has happened (and stays enabled in the future).
func Compare ¶
Compare returns -1, 0, or +1 depending on whether x < y, x == y, or x > y, interpreted as Go versions. The versions x and y must begin with a "go" prefix: "go1.21" not "1.21". Invalid versions, including the empty string, compare less than valid versions and equal to each other. The language version "go1.21" compares less than the release candidate and eventual releases "go1.21rc1" and "go1.21.0". Custom toolchain suffixes are ignored during comparison: "go1.21.0" and "go1.21.0-bigcorp" are equal.
func FileVersion ¶ added in v0.19.0
FileVersion returns a file's Go version. The reported version is an unknown Future version if a version cannot be determined.
Types ¶
This section is empty.