Manage environment-specific configuration in Go by using build tags to separate code paths and GODEBUG or go.mod directives to control runtime behavior per environment. Create separate files like config_prod.go and config_dev.go with matching build constraints, then set GODEBUG flags in your deployment environment or define godebug blocks in go.mod to enforce specific runtime defaults.
//go:build prod
// +build prod
package config
const Env = "production"
const Debug = false
//go:build dev
// +build dev
package config
const Env = "development"
const Debug = true
export GODEBUG=http2client=0,tarinsecurepath=0
//go.mod
godebug (
default=go1.21
panicnil=1
)