很多大型应用程序,会使用环境变量进行配置(当然也支持其他方式配置,比如 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)
}