gotenv – github.com/subosito/gotenv Index | Examples | Files

package gotenv

import "github.com/subosito/gotenv"

Package gotenv provides functionality to dynamically load the environment variables

Index

Examples

Functions

func Load

func Load(filenames ...string) error

Load is function to load a file or multiple files and then export the valid variables which found into environment variables. When it's called with no argument, it will load `.env` file on the current path and set the environment variables. Otherwise, it will loop over the filenames parameter and set the proper environment variables.

// processing `.env`
gotenv.Load()

// processing multiple files
gotenv.Load("production.env", "credentials")

Types

type Env

type Env map[string]string

Holds key/value pair of valid environment variable

func Parse

func Parse(r io.Reader) Env

Parse if a function to parse line by line any io.Reader supplied and returns the valid Env key/value pair of valid variables. It expands the value of a variable from environment variable, but does not set the value to the environment itself. This function is skipping any invalid lines and only processing the valid one.

Example

Code:play 

package main

import (
	"fmt"
	"github.com/subosito/gotenv"
	"strings"
)

func main() {
	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"}
}

Source Files

gotenv.go

Version
v0.1.0
Published
Sep 4, 2013
Platform
darwin/amd64
Imports
5 packages
Last checked
now

Tools for package owners.