Go 在revel app.conf中读取环境变量

Go 在revel app.conf中读取环境变量,go,config,revel,Go,Config,Revel,Revel使用app.conf存储配置。我希望我的配置使用os.Getenv(key) 我怎么做?我应该使用revel.Config进行更改吗?如果是,我应该把它放在哪里 还是有别的办法 我主要用于存储数据库信息(我不想在配置文件中输入凭据) 感谢您用于管理 从环境变量中读取的revel/config敌人的唯一位置是在方法中 这意味着您可以根据环境变量的名称添加配置文件值,这将允许您使用所述环境变量修改配置 请参见中的示例 因此: 使用环境变量时,使用${ENV_VARS},以及 对于展开变量

Revel使用app.conf存储配置。我希望我的配置使用
os.Getenv(key)

我怎么做?我应该使用revel.Config进行更改吗?如果是,我应该把它放在哪里

还是有别的办法

我主要用于存储数据库信息(我不想在配置文件中输入凭据)

感谢您

用于管理

从环境变量中读取的revel/config敌人的唯一位置是在方法中

这意味着您可以根据环境变量的名称添加配置文件值,这将允许您使用所述环境变量修改配置

请参见中的示例

因此:

  • 使用环境变量时,使用
    ${ENV_VARS}
    ,以及
  • 对于展开变量,使用
    %(UNF_VARS)s

谢谢,他们应该在自述文件中更清楚地说明这一点,当使用环境变量时,使用${ENV_VARS},对于展开变量,使用%(UNF_VARS),如@pveyes中所述,非常正确。我已将您的评论包含在答案中,以提高可视性。
// $ environment variables
computedVal, _ = c.computeVar(&value, envVarRegExp, 2, 1, func(varName *string) string {
return os.Getenv(*varName)
})
[DEFAULT]
host: www.example.com
protocol: http://
base-url: %(protocol)s%(host)s    <====
// substitute by new value and take off leading '%(' and trailing ')s'
// %(foo)s => headsz=2, tailsz=2
// ${foo} => headsz=2, tailsz=1