我是GO编程新手。我来自nodejs。在nodejs中将dev和prod模式分开很容易。只需使用此代码即可。
if(process.env.NODE_ENV==="production"){
server.listen(prod.port);
}
else{
server.listen(dev.port);
}
我基本上也希望该约定也可以在GO中使用。因此,我该如何区分开发代码和生产代码。
想要此功能的原因是
分隔服务器在dev和prod中监听的端口 环境
如果有任何分离端口的技术,也可以。
P.S:我正在使用VScode作为我的代码编辑器。而
go-iris
作为Go服务器 框架
答案 0 :(得分:7)
您可以使用os.Getenv
功能。
package main
import (
"fmt"
"os"
)
func getEnv() string{
return os.Getenv("APP_ENV")
}
答案 1 :(得分:7)
您可以通过多种方式在Go中实现此目标,但是所有这些方式都不在代码本身中处理。
os.Getenv
.yaml
文件package flag
我认为最常见的解决方案是使用标志,但是所有标志都可以完成相同的工作。通常,您可以在main方法中解析标志。