Go version

go version go1.25rc1 darwin/arm64

Output of go env in your module/workspace:

GOEXPERIMENT=""

What did you do?

$ go1.25rc1 help environment | grep -A5 GOEXPERIMENT
    GOEXPERIMENT
        Comma-separated list of toolchain experiments to enable or disable.
        The list of available experiments may change arbitrarily over time.
        See GOROOT/src/internal/goexperiment/flags.go for currently valid values.
        Warning: This variable is provided for the development and testing
        of the Go toolchain itself. Use beyond that purpose is unsupported.
$ go1.25rc1 doc internal/goexperiment | grep -A2 "current toolchain"
For the set of experiments supported by the current toolchain, see "go doc
goexperiment.Flags".

$ go1.25rc1 doc goexperiment.Flags | head -n5
package goexperiment // import "internal/goexperiment"

type Flags struct {
    FieldTrack        bool
    PreemptibleLoops  bool
$ go1.25rc1 doc goexperiment | grep '^const ' | head
const AliasTypeParams = true
const AliasTypeParamsInt = 1
const Arenas = false
const ArenasInt = 0
const BoringCrypto = false
const BoringCryptoInt = 0
const CacheProg = false
const CacheProgInt = 0
const CgoCheck2 = false
const CgoCheck2Int = 0

What did you see happen?

The "go help environment" points to an internal source file that is not easily accessible.

None of the document shown above show the lower case GOEXPERIMENT values.

What did you expect to see?

I would like to see a simple list of the allowed GOEXPERIMENT values and their meaning, quickly linked from go help environment.

Comment From: dmitshur

CC @golang/command-line, @golang/runtime.