func ExampleParse() { pairs := gotenv.Parse(strings.NewReader("FOO=test\nBAR=$FOO")) fmt.Printf("%+v\n", pairs) // gotenv.Env{"FOO": "test", "BAR": "test"} pairs = gotenv.Parse(strings.NewReader(`FOO="bar"`)) fmt.Printf("%+v\n", pairs) // gotenv.Env{"FOO": "bar"} }
func ReadConfig(filename string) (Config, error) { if _, err := os.Stat(filename); os.IsNotExist(err) { return make(Config), nil } fd, err := os.Open(filename) if err != nil { return nil, err } defer fd.Close() config := make(Config) for key, val := range gotenv.Parse(fd) { config[key] = val } return config, nil }
func ReadEnv(filename string) (Env, error) { if _, err := os.Stat(filename); os.IsNotExist(err) { return make(Env), nil } fd, err := os.Open(filename) if err != nil { return nil, err } defer fd.Close() env := make(Env) for key, val := range gotenv.Parse(fd) { env[key] = val } return env, nil }
// GetEnvironmentVariables returns map of environment variables func GetEnvironmentVariables() map[string]string { return gotenv.Parse(strings.NewReader(strings.Join(os.Environ(), "\n"))) }