golang:获取/设置系统环境变量
■实例说明有时候,我们需要从系统环境变量中获取相关配置,当然我们也可以设置相关配置到当前环境变量中,供当前进程或派生的子进程使用。
1)设置环境变量,只在当前进程或派生子进程中有效。
2)读取环境变量
■实例实例
package main
import (
"fmt"
"os"
)
// SetEnv 设置环境变量
func SetEnv(key, value string) error {
return os.Setenv(key, value)
}
// GetEnv 获取环境变量
func GetEnv(key string) string {
return os.Getenv(key)
}
func main() {
// 1、设置新的环境变量
// 注意:这里设置了变量,等你下次再打开终端的时候查询,是查询不到这里设置的变量的。
// 因为:环境变量是与进程相关的, 进程开始的时候继承(可以理解为拷贝)他的父进程的所有环境变量,
// 此后进程对环境变量的修改不会影响父进程, 进程结束时它的环境变量被全部清除.
SetEnv("NEW_PATH", "/usr/local/new_path")
// 2、读取刚设置的环境变量
np := GetEnv("NEW_PATH")
fmt.Printf("np=%s\n", np)
// np=/usr/local/new_path
// 3、读取系统原来以后的环境变量(即你通过终端直接可以查询到的变量,比如下面的:echo $LOCAL_WEB_URL)
// LOCAL_WEB_URL是我早就设置好的环境变量,我打开终端,输入:echo $LOCAL_WEB_URL,就可以看到相应的输出
// LOCAL_WEB_URL变量,在我的mac上,我是通过修改当前用户目录下.bash_profile文件来设置的。
// 具体可以参考:https://blog.csdn.net/jigetage/article/details/80909484
url := os.Getenv("LOCAL_WEB_URL")
fmt.Printf("url=%s\n", url)
// url=www.golangcodes.com
}
页:
[1]