gpt4 book ai didi

go - 如果 env var 为空,如何分配默认值?

转载 作者:IT老高 更新时间:2023-10-28 12:59:14 24 4
gpt4 key购买 nike

如果没有在 Go 中设置环境变量,如何分配默认值?

在 Python 中,我可以执行 mongo_password = os.getenv('MONGO_PASS', 'pass') 其中 pass 是默认值,如果 MONGO_PASS 未设置环境变量。

我尝试了一个基于 os.Getenv 为空的 if 语句,但由于 if 语句中变量赋值的范围,这似乎不起作用。而且我正在检查多个 env var,因此我无法在 if 语句中对这些信息采取行动。

最佳答案

没有内置的回退到默认值,所以你必须做一个好的老式if-else。

但是你总是可以创建一个辅助函数来简化它:

func getenv(key, fallback string) string {
value := os.Getenv(key)
if len(value) == 0 {
return fallback
}
return value
}

注意 @michael-hausenblas在评论中指出,请记住,如果环境变量的值确实为空,您将获得备用值。

@ŁukaszWojciechowski 更好指出,使用 os.LookupEnv :

func getEnv(key, fallback string) string {
if value, ok := os.LookupEnv(key); ok {
return value
}
return fallback
}

关于go - 如果 env var 为空,如何分配默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40326540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com