envflag.go
func getenv(name string) (s string, ok bool) {
	m := make(map[string]bool)

	for _, keyVal := range os.Environ() {
		split := strings.Split(keyVal, "=")
		m[split[0]] = true
	}

	name = flagAsEnv(name)
	if _, ok = m[name]; ok {
		s = os.Getenv(name)
	}

	return
}
func getenv(name string) (s string, ok bool) {
	m := make(map[string]bool)

	for _, keyVal := range os.Environ() {
		split := strings.Split(keyVal, "=")
		m[split[0]] = true
	}

	name = flagAsEnv(name)
	if _, ok = m[name]; ok {
		s = os.Getenv(name)
	}

	return
}
// Just like os.Getenv, but with a second return value; a boolean specifying
// if name was actually set in the environment.