2017-02-04 24 views
0

我正在學習golang和我的第一個任務,我已經開始建立一個簡單的網站。問題是我需要一些可用的全局變量,我知道使用上下文發送這些全局變量是不明智的,因爲上下文對於每個請求都應該是不同的。因此我曾想過創建一個包含main()中所需變量的包。我在其他項目中沒有看到這個解決方案,所以我問這是否是錯誤的?配置包的 簡單的例子:使用包作爲商店的全局變量

package config 
var DB *sql.DB 

和主:

package main 
import "project/config" 
func main() { 
config.DB, err = sql.Open("postgres", conn) 
if err != nil { 
    panic(err) 
} 
} 

然後我只想導入配置包,讓無論我所需要的變量。

回答

1

這種方法沒有任何問題。你也可以用init()函數代替main()來初始化你的全局變量。

0

確實,這是一個非常好的解決方案。