0

我试图通过设置环境变量将开发配置文件与生产配置隔离开来。操作系统: ,我通过添加MAC OS设置环境变量。得到正确的值。我编写了一个函数,使用它获取“调试”的值。但是打印零。哪里错了?DEBUG = true.bash_profileexport DEBUG = Trueecho $debugtrueviper

func GetEnvInfo(env string) string {
    viper.AutomaticEnv()
    v := viper.Get(env)
    return v
}

func main() {
    env := GetEnvInfo("debug")
    fmt.Println(env)
}

4

1 回答 1

0

我认为这是因为环境变量区分大小写。这是viper 自述文件的引述:

使用 ENV 变量时,重要的是要认识到 Viper 将 ENV 变量视为区分大小写。

由于您设置DEBUG并阅读debug了这是预期的。我不明白为什么 bash 确实返回 trueecho $debug因为 bash 也应该区分大小写。

于 2021-11-07T15:22:10.953 回答