我正在学习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)
}
}
然后我只需导入配置包并在需要的地方获取变量。
答案 0 :(得分:1)
这种方法没有错。您也可以使用init()函数而不是main()来初始化全局变量。
答案 1 :(得分:0)
确实,这是一个非常好的解决方案。