package main
import (
"fmt"
"os"
"strings"
)
func main() {
// Kalit/qiymat o'rnatish va olish
// Agar kalit mavjud bo'lmasa, Getenv bo'sh string qaytaradi
os.Setenv("FOO", "1")
fmt.Println("FOO:", os.Getenv("FOO"))
fmt.Println("BAR:", os.Getenv("BAR"))
// Barcha environment juftliklarini ro'yxatlash
// Environ KEY=value ko'rinishidagi stringlar slice'ini qaytaradi
fmt.Println()
for _, e := range os.Environ() {
pair := strings.SplitN(e, "=", 2)
fmt.Println(pair[0])
}
}
Ishga tushirishda, dastur ichida o'rnatilgan FOO qiymatini olamiz, BAR esa bo'sh bo'ladi:
$ go run environment-variables.go
FOO: 1
BAR:
TERM_PROGRAM
PATH
SHELL
...
FOO
Agar BAR ni muhitda oldindan o'rnatsak, dastur o'sha qiymatni oladi:
$ BAR=2 go run environment-variables.go
FOO: 1
BAR: 2
...