Go program reads environment variables

read catalog

Environment variables are a common way of passing configuration information to Unix programs.

Let's see how to set, get and enumerate environment variables.

// environment-variables.go
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.Split` 来得到键和值。这里我们打印所有的键。
	fmt.Println()
	for _, e := range os.Environ() {
    
    
		pair := strings.Split(e, "=")
		fmt.Println(pair[0])
	}
}

Running this program shows the value of FOO which we set in the program, while BAR which is not set is empty.

[root@bogon test]# go run main.go
FOO: 1
BAR: 

XDG_SESSION_ID
TERM_PROGRAM
HOSTNAME
TERM
SHELL
HISTSIZE
SSH_CLIENT
TERM_PROGRAM_VERSION
USER
LS_COLORS
PATH
MAIL
GO_HOME
PWD
LANG
VSCODE_GIT_ASKPASS_EXTRA_ARGS
HISTCONTROL
HOME
SHLVL
VSCODE_GIT_ASKPASS_MAIN
LOGNAME
VSCODE_GIT_IPC_HANDLE
SSH_CONNECTION
XDG_DATA_DIRS
VSCODE_IPC_HOOK_CLI
GOPATH
LESSOPEN
BROWSER
VSCODE_GIT_ASKPASS_NODE
GIT_ASKPASS
XDG_RUNTIME_DIR
COLORTERM
_
FOO
[root@bogon test]# 

Guess you like

Origin blog.csdn.net/weiguang102/article/details/129877805