我有具有main.go文件:如何跨所有包一個全局變量訪問在golang
// running the router in port 9000
func main() {
router,Global := routers.InitApp()
fmt.println(Global)
router.RunTLS(":9000" , "domain.crt" , "domain.key")
}
在router.InitMap我要聲明,可在我的應用程序訪問的全局變量任何地方。有可能嗎?我試過
func InitApp() (*gin.Engine,string) {
var Global= "myvalue"
router := gin.New()
return router,Global
}
但是即使在同一個軟件包中,我也可以訪問變量Global
。
你爲什麼想這麼做?你將很難測試的東西。 – ale64bit
我想在應用程序啓動時爲應用程序獲取配置數據。這是通過一個rest API返回的。例如:數據庫主機名,用戶名等。 – aaj
然後首先在函數'InitApp'之外聲明變量:'var Global string',然後在準備就緒時爲其分配一個值。 – ale64bit