我在环境变量GOPATH中设置了数据,我想在程序中以编程方式提取这些数据。我更愿意将所有ENV变量作为map[string]interface{}
获取。这是因为我想将ENV值与我当前获取的JSON配置集成。
var data map[string]interface{}
file, err := ioutil.ReadFile(configFilePath)
if err != nil {
log.Fatal(err)
}
err = json.Unmarshal(file, &data)
if err != nil {
log.Fatal(err)
}
答案 0 :(得分:5)
os.Environ()以#34; key = value"形式返回表示环境的字符串。要创建地图,请遍历字符串,拆分为" ="并设置地图条目。
m := make(map[string]string)
for _, e := range os.Environ() {
if i := strings.Index(e, "="); i >= 0 {
m[e[:i]] = e[i+1:]
}
}