Go 示例: 环境变量

环境变量 是一种通用的机制,用于 将配置信息传递给 Unix 程序。 让我们看看如何设置、获取和列出环境变量。

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

要设置键值对,请使用 os.Setenv。 要获取键的值,请使用 os.Getenv。 如果环境中不存在该键,则此方法将返回空字符串。

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

使用 os.Environ 列出环境中的所有键值对。 此方法返回一个字符串切片,格式为 KEY=value。 您可以使用 strings.SplitN 将它们拆分为键和值。 在这里,我们打印所有键。

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

运行程序显示我们获取了我们在程序中设置的 FOO 的值,但 BAR 为空。

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

环境中的键列表将取决于您的特定机器。

TERM_PROGRAM
PATH
SHELL
...
FOO

如果我们首先在环境中设置 BAR,则正在运行的程序将获取该值。

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

下一个示例:日志记录.