douying4203 2015-03-27 05:33
浏览 165
已采纳

从环境中获取变量吗?

I have data set in the environment variable GOPATH and I would like to programatically extract this data in my program. I would prefer to fetch all the ENV variables as a map[string]interface{}. This is because I want to integrate the ENV values with my JSON config witch I currently fetch like so.

 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)
 }
  • 写回答

1条回答 默认 最新

  • doukun8670 2015-03-27 06:00
    关注

    os.Environ() returns the strings representing the environment in the form "key=value". To create a map, iterate through the strings, split on "=" and set the map entry.

    m := make(map[string]string)
    for _, e := range os.Environ() {
        if i := strings.Index(e, "="); i >= 0 {
            m[e[:i]] = e[i+1:]
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度