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 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 }