如果我们使用全局变量来处理数据库操作而不是将其作为参数传递给函数和方法或将其存储为结构中的字段,是否有任何缺点?
这些缺点是什么(如果有的话)?
假设我们在一个名为 Database 的项目中创建一个包,在该包内定义一个名为 DB 的变量var DB *mgo.Database,然后在项目的 main 函数中用我们的 mongo 数据库填充它:
func main() {
session, err := mgo.Dial("localhost")
if err != nil {
fmt.Println(err)
return
}
database.DB = session.DB("mydatabase")
// project code
defer session.Close()
}
之后,我们使用database.DB与我们的数据库进行交互。
请注意,将会有很多 goroutine 使用database.DB(如果有什么区别的话)
该问题不基于意见,请花更多时间阅读和理解
我再次重复这个问题不是基于意见,请花更多时间阅读和理解
慕后森
相关分类