当前位置: 首页 > 面试题库 >

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

平和雅
2023-03-14
问题内容

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

在Python中mongo_password = os.getenv('MONGO_PASS', 'pass')pass如果MONGO_PASS未设置env var,我可以在哪里设置默认值。

我尝试了基于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 中设置环境变量,如何分配默认值? 在Python中,我可以做其中是默认值,如果env var未设置。 我尝试了基于 os 的 if 语句 是空的,但由于 if 语句中的变量赋值范围,这似乎不起作用。而且我正在检查多个 env var,所以我无法在 if 语句中对这些信息采取行动。

  • 我有数据类 我用jooq写了请求 但我有一个例外,若作者并没有书。这是合乎逻辑的,因为数据类Author中的外业手簿不可为空。我试图将伴生对象添加到数据类中 但是它不起作用,jooq仍然尝试使用默认构造函数,我得到了一个异常。有没有办法在不使数据类中的字段书作者为空的情况下修复它?

  • 问题内容: 我对Django非常陌生,并尝试配置为使用.env变量。我在尝试运行服务器时遇到问题。.env文件位于根目录中。这是我的代码: settings.py my_app.env 问题答案: 更改文件名:必须为。 从代码:

  • 我通过指定分区的数量从文本文件创建RDD。但它给我的分区数与指定的分区数不同。 文件 /home/pvikash/data/test.txt的内容是: 我试图理解为什么这里的分区数量在变化,如果我们有小数据(可以容纳一个分区),那么为什么spark会创建空分区? 任何解释都将不胜感激。

  • 问题内容: 我已经打了,并几次,现在我想恢复到默认值(一种恢复出厂设置的)。 是否提供执行此操作的命令?还是应该手动删除所有配置文件然后重新安装? 我需要它都在和。 提前致谢! 问题答案: 重置用户默认设置 在命令行中运行此命令(或在Windows上运行git bash): 重置全局默认值 如果您需要sudo,请改为运行以下命令:

  • 我运行SonarQube有两个质量配置文件: 第一,默认的“声纳方式”。第二,“声纳方式与FindBugs。 SQ成功地对两个配置文件执行分析,并在.sonar文件夹中生成html报告。 但我看不到仪表板中“声纳方式与FindBugs”的分析结果。即使在“quality Profiles”设置中将质量配置文件设置为默认配置文件并从头运行分析之后,当我进入仪表板时,SQ仍然显示使用默认配置文件“So