如果我們使用全局變量來(lái)處理數(shù)據(jù)庫(kù)操作而不是將其作為參數(shù)傳遞給函數(shù)和方法或?qū)⑵浯鎯?chǔ)為結(jié)構(gòu)中的字段,是否有任何缺點(diǎn)?這些缺點(diǎn)是什么(如果有的話)?假設(shè)我們?cè)谝粋€(gè)名為 Database 的項(xiàng)目中創(chuàng)建一個(gè)包,在該包內(nèi)定義一個(gè)名為 DB 的變量var DB *mgo.Database,然后在項(xiàng)目的 main 函數(shù)中用我們的 mongo 數(shù)據(jù)庫(kù)填充它: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與我們的數(shù)據(jù)庫(kù)進(jìn)行交互。請(qǐng)注意,將會(huì)有很多 goroutine 使用database.DB(如果有什么區(qū)別的話)該問題不基于意見,請(qǐng)花更多時(shí)間閱讀和理解我再次重復(fù)這個(gè)問題不是基于意見,請(qǐng)花更多時(shí)間閱讀和理解
在 golang 中使用全局 mongo (mgo) 數(shù)據(jù)庫(kù)有什么缺點(diǎn)?
慕工程0101907
2023-07-04 10:02:53