1
0
mirror of https://github.com/golang/go synced 2024-11-21 17:14:45 -07:00

cmd/go/internal/help: add documentation for language version downgrading

This change adds documentation for language version downgrading using
build constraints.

Fixes #68161
For #61894

Change-Id: I283a51afd7020c9fd1f5469a6a93fd814ba32f7e
Reviewed-on: https://go-review.googlesource.com/c/go/+/595475
Reviewed-by: Robert Findley <rfindley@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
Michael Matloob 2024-06-27 11:16:30 -04:00
parent b0927fdd49
commit ea537cca31
2 changed files with 14 additions and 0 deletions

View File

@ -1994,6 +1994,9 @@
//
// //go:build
//
// Build constraints can also be used to downgrade the language version
// used to compile a file.
//
// Constraints may appear in any kind of source file (not just Go), but
// they must appear near the top of the file, preceded
// only by blank lines and other comments. These rules mean that in Go
@ -2116,6 +2119,10 @@
// with a "// +build" prefix. The gofmt command will add an equivalent //go:build
// constraint when encountering the older syntax.
//
// In modules with a Go version of 1.21 or later, if a file's build constraint
// has a term for a Go major release, the language version used when compiling
// the file will be the minimum version implied by the build constraint.
//
// # Build modes
//
// The 'go build' and 'go install' commands take a -buildmode argument which

View File

@ -835,6 +835,9 @@ line comment that begins
//go:build
Build constraints can also be used to downgrade the language version
used to compile a file.
Constraints may appear in any kind of source file (not just Go), but
they must appear near the top of the file, preceded
only by blank lines and other comments. These rules mean that in Go
@ -954,5 +957,9 @@ only when building the package for 32-bit x86.
Go versions 1.16 and earlier used a different syntax for build constraints,
with a "// +build" prefix. The gofmt command will add an equivalent //go:build
constraint when encountering the older syntax.
In modules with a Go version of 1.21 or later, if a file's build constraint
has a term for a Go major release, the language version used when compiling
the file will be the minimum version implied by the build constraint.
`,
}