大家好, 我是老麦, 我将每天 早上9点 为你分享一篇好文章。

原文链接:https://tangx.in/posts/2021/09/06/golang-os-env-operation/

os
stringexportos.Setenv

image-20210907001155092

环境变量操作方法

os.Setenv("key","val")

创建一个环境变量

os.Unsetenv("key")

取消一个变量

val=os.Getenv("key")

返回一个变量的值。如果变量不存在, val 为空字符串。

len(val)==0

这种方法无法区分变量不存在或者变量值为空字符串。

val,ok=os.LookupEnv("key")

返回一个变量的值 与 变量是否存在的 bool 结果。

truefalse
(ok=false)(ok=true)
os.Clearenv()

清空所有变量。危险 慎用

envs=os.Environ()
[]string
os.Environ()[]stringmap[string]string
strings.Split=strings.Join

因为一下语句时合法的

key1=val1,key2=val2VAR

例如下面这段代码,  envutils - fix: lost value when trans env string slice into map[1]

os.ExpandEnv("string")os.Expand("string",os.Getenv)
$key${key}bash

请你关注我

Go与云原生https://tangx.in/

觉得好的话,请猛击文章「转发点赞在看」,感谢支持

参考资料

[1] envutils - fix: lost value when trans env string slice into map: https://github.com/tangx/envutils/commit/ca10e1c057193283ef308ae708ef421de3d1ec1b