golang代码实例库

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7042|回复: 0

golang:获取/设置系统环境变量

[复制链接]

82

主题

82

帖子

486

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
486
发表于 2022-1-17 23:50:24 | 显示全部楼层 |阅读模式
实例说明
有时候,我们需要从系统环境变量中获取相关配置,当然我们也可以设置相关配置到当前环境变量中,供当前进程或派生的子进程使用。
1)设置环境变量,只在当前进程或派生子进程中有效。
2)读取环境变量


实例实例
[Golang] 纯文本查看 复制代码
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文件来设置的。
        // 具体可以参考:[url=https://blog.csdn.net/jigetage/article/details/80909484]https://blog.csdn.net/jigetage/article/details/80909484[/url]
        url := os.Getenv("LOCAL_WEB_URL")
        fmt.Printf("url=%s\n", url)
        // url=www.golangcodes.com
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|golang代码实例库 ( 粤ICP备2021162396号 )

GMT+8, 2025-5-17 10:40 , Processed in 0.021944 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表