【发布时间】:2016-10-21 13:56:42
【问题描述】:
例如,我正在开发留言簿。它允许添加需要由版主批准的记录。但是在开发进一步的功能时,要批准在测试期间添加的每条记录是一件很痛苦的事情。 那么,是否可以构建应用程序的开发版本来创建具有适当标志集的此类记录?
例如 prod build 使用以下函数编译:
func NewRecord() Record {
return Record{Moderation: Awaiting}
}
并且在 dev build 中编译为:
func NewRecord() Record {
return Record{Moderation: Approved}
}
我知道在前端,当你构建一些 JS 应用程序时,在构建生产环境时设置 NODE_ENV=production 环境变量是一种常见的做法。 我在 Go 中寻找类似的东西。 我看到了两种方法,但都不喜欢其中任何一种:
- 我可以在开发时设置
Awaiting = Approved,然后在构建产品版本时将其更改回实际值。但我担心有一天我会忘记这个模拟,将它提交给 repo 或类似的东西。 -
把函数改成类似
func NewRecord() Record { if os.Getenv(mykey) == "production" { return Record{Moderation: Awaiting} } else { return Record{Moderation: Approved} } }但我不喜欢在运行时为每条新记录评估此条件。编译语言似乎是错误的。
如果这样的应用程序在构建为开发版本时可以显示警告(到 stdout/stderr),那就太好了。
谢谢。
【问题讨论】:
标签: go