Go podle Příkladů: Proměnné prostředí

Proměnné prostředí jsou univerzální mechanismus pro předávání informací o konfiguraci Unixovým programům. Pojďme se podívat jak nastavit, získat a vypsat proměnné prostředí.

package main
import "os"
import "strings"
import "fmt"
func main() {

Pro nastavení dvojice klíč/hodnota, použijte os.Setenv. Pro získání hodnoty pro klíč, použijte os.Getenv. Ta vrátí prázdný řetězec pokud nebude klíč v prostředí existovat.

    os.Setenv("FOO", "1")
    fmt.Println("FOO:", os.Getenv("FOO"))
    fmt.Println("BAR:", os.Getenv("BAR"))

Použijte os.Environ pro vypsání všech dvojic key/value v prostředí. Toto vrátí výřez řetězců ve formě KLÍČ=hodnota. Můžeš na ně použít strings.Split pro získání klíče a hodnoty. Tady vypíšeme všechny klíče.

    fmt.Println()
    for _, e := range os.Environ() {
        pair := strings.Split(e, "=")
        fmt.Println(pair[0])
    }
}

Spuštění tohoto programu ukazuje že jsme načetli hodnotu pro FOO kterou jsme nastavili v programu, ale že BAR je prázdné.

$ go run environment-variables.go
FOO: 1
BAR: 

Seznam klíčů v prostředí bude záležet na konkrétním stroji.

TERM_PROGRAM
PATH
SHELL
...

Když nejdřív nastavíme v prostředí BAR, spuštění programu poté hodnotu načte.

$ BAR=2 go run environment-variables.go
FOO: 1
BAR: 2
...

Další příklad: HTTP Klienti.