func EnvString(dst *string, key, value string) {
	*dst = value
	val := os.Getenv(key)
	if len(val) != 0 {
		*dst = val
	}
}
EnvString behaves like flag.StringVar but uses the environ instead.
package main
import (
	"os"
	"strconv"
)
func EnvInt(dst *int, key string, value int) {
	*dst = value
	val, err := strconv.Atoi(os.Getenv(key))
	if err == nil {
		*dst = val
	}
}