很多大型应用程序,会使用环境变量进行配置(当然也支持其他方式配置,比如 flag)。作为配置选项的环境变量大大简化了应用程序的部署。这些在云基础设施中也很常见。
通常,基于环境变量的配置,如果环境变量没设置,程序会有一个默认值。
package collector
import (
"fmt"
"os"
"strings"
"testing"
)
func TestOSENV(t *testing.T) {
fmt.Printf("环境 USER:%v \n", os.Getenv("USER"))
fmt.Printf("所有的环境变量 :%v \n", os.Environ())
//判断环境变量是否存在
a, b := os.LookupEnv("new_env_key")
fmt.Printf("环境变量 new_env_key是否存在 :%v ,值:%v\n", b, a)
//设置环境变量
os.Setenv("new_env_key", "new_env_value")
c, d := os.LookupEnv("new_env_key")
fmt.Printf("环境变量 new_env_key是否存在 :%v ,值:%v\n", d, c)
//删除环境变量
os.Unsetenv("new_env_key")
e, f := os.LookupEnv("new_env_key")
fmt.Printf("环境变量 new_env_key是否存在 :%v ,值:%v\n", f, e)
}