[英]Separting the development and production environment in GOLANG
我是 GO 編程的新手。 我來自nodejs。 在 nodejs 中很容易分離 dev 和 prod 模式。 通過簡單地使用此代碼。
if(process.env.NODE_ENV==="production"){
server.listen(prod.port);
}
else{
server.listen(dev.port);
}
我基本上也希望在 GO 中使用此約定。 那么我怎么能分開我的開發和生產代碼。
想要這個功能的原因是
分離我的服務器在開發和生產環境中監聽的端口
如果有任何技術可以分離端口,它也可以。
PS:我使用 VScode 作為我的代碼編輯器。 和
go-iris
作為 go 服務器框架
你可以使用os.Getenv
函數。
package main
import (
"fmt"
"os"
)
func getEnv() string{
return os.Getenv("APP_ENV")
}
在Go中有多種方法可以實現這一點,但是它們都沒有在代碼本身中處理這個問題。
os.Getenv
.yaml
文件 package flag
我認為最常見的解決方案是使用標志,但所有人都做同樣的工作。 通常你在main方法中解析你的標志。
只需使用 arguments 運行您的應用程序,例如go run main.go -mode development
,而默認模式是 production 。 您可以使用腳本啟動您的應用程序以分隔不同的環境。 例如,您的 bootstrap.bat 文件可能如下所示: go run main.go -mode development
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.