- Read from and write to .env files
- Get and set environment variables
- No dependencies outside the standard library
package main
import "github.com/gofor-little/env"
func main() {
// Load an .env file and set the key-value pairs as environment variables.
if err := env.Load("FILE_PATH"); err != nil {
panic(err)
}
// Write a key-value pair to an .env file and call env.Set on it.
if err := env.Write("KEY", "VALUE", "FILE_PATH", true); err != nil {
panic(err)
}
// Get an environment variable's value with a default backup value.
value := env.Get("KEY", "DEFAULT_VALUE")
// Get an environment variable's value, receiving an error if it is not set or is empty.
value, err := env.MustGet("KEY")
if err != nil {
panic(err)
}
// Set an environment variable locally.
if err := env.Set("KEY", "VALUE"); err != nil {
panic(err)
}
}
# This is a comment example
DB_NAME=dev_db # This is an inline comment example.
# Everything after the # is interpreted as a comment.
# DB_NAME=testing_db # This in an ignored env example
DB_PASSWORD="#db_password#secret" # This is a wrapped env example
# The # whitin double quotes is interpreted as the literal character
Run go test ./...
in the root directory.