Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
jimzhan f204dc024c init imports před 10 roky
.gitignore Initial commit před 10 roky
LICENSE Initial commit před 10 roky
README.md init imports před 10 roky
deps.go init imports před 10 roky
doc.go init imports před 10 roky
env.go init imports před 10 roky
env_test.go init imports před 10 roky

README.md

env

Build Status GoDoc

Ease of Accessing Environment Varaibles in Golang

Installation

$ go get -v github.com/goanywhere/env

Usage

PORT=9394
SECRET_KEY=YOURSECRETKEY

You can double/single quote string values:

PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----HkVN9…-----END DSA PRIVATE KEY-----"

You can use export in front of each line just like your shell settings, so that you can source the file in your terminal directly:

export USERNAME=account@goanywhere.io
export PASSWORD=AccountPasswordGoesHere

Export these values, you can then access them using env now.

package main

import (
    "github.com/goanywhere/env"
)


func main() {
    env.Int("PORT")             // 9394
    env.String("SECRET_KEY")    // YOURSECERTKEY
    .......
}

env also supports custom struct for you to access the reflected values.

package main

import (
    "fmt"
    "github.com/goanywhere/env"
)

type Spec struct {
    App         string
    SecretKey   string  `env:"SECRET_KEY"`
}

func main() {
    var spec Spec

    env.Set("App", "myapplication")
    env.Set("SECRET_KEY", "wGv7ELIx8P8qsUit9OuWw2zwPEF0nXtvjIKZQOioAVuI5GnHSwBAeWZ6l4-SpIPT")
    env.Map(&spec)

    fmt.Printf("App: %s", spec.App)             // output: "App: myapplication"
    fmt.Printf("Secret: %s", spec.SecretKey)    // output: "Secret: wGv7ELIx8P8qsUit9OuWw2zwPEF0nXtvjIKZQOioAVuI5GnHSwBAeWZ6l4-SpIPT"
}

We also includes dotenv supports, simply add the application settings to file .env right under the root of your project:

test1  =  value1
test2 = 'value2'
test3 = "value3"
export test4=value4
package main

import (
    "fmt"

    "github.com/goanywhere/env"
)

func main() {
    // Load '.env' from current working directory.
    env.Load()

    fmt.Printf("<test1: %s>", env.String("test1"))  // output: "value1"
    fmt.Printf("<test2: %s>", env.String("test2"))  // output: "value2"
}

NOTES

Sensitive settings should ONLY be accessible on the machines that need access to them. NEVER commit them to a repository (even a private one) that is not needed by every development machine and server.