Go for C# (.NET) Developers

What Changes

Go provides `GODEBUG` settings to control runtime behavior and opt back into legacy behavior when upgrading toolchains. You can set these via the `GODEBUG` environment variable, `godebug` directives in `go.mod`/`go.work`, or `//go:debug` comments in source files.

Go for C# (.NET) Developers: What Changes

Go provides GODEBUG settings to control runtime behavior and opt back into legacy behavior when upgrading toolchains. You can set these via the GODEBUG environment variable, godebug directives in go.mod/go.work, or //go:debug comments in source files.

export GODEBUG=http2client=0,panicnil=1

To set defaults in your module file (go.mod or go.work):

godebug (
    default=go1.21
    panicnil=1
)

Or in your source file before the package statement:

//go:debug panicnil=1
package main

func main() {
	// Example code
}

Verify the active settings with:

go env GODEBUG