admin 发表于 2022-1-17 23:50:24

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]
查看完整版本: golang:获取/设置系统环境变量