我正在使用此處提供的用于 Golang 的 MySQL 驅(qū)動(dòng)程序https://github.com/go-sql-driver/mysql我正在嘗試做的一件事是將數(shù)據(jù)庫(kù)變量存儲(chǔ)在全局連接中。根據(jù)文檔, sql.Open() 應(yīng)該返回一個(gè)指向 DB 結(jié)構(gòu)的指針,所以我嘗試將其存儲(chǔ)為var db *DB然而,這導(dǎo)致了錯(cuò)誤undefined: DB我嘗試的下一件事是查看 MySQL 驅(qū)動(dòng)程序的源代碼,我在這里找到了一段代碼https://github.com/go-sql-driver/mysql/blob/master/driver.gofunc (d MySQLDriver) Open(dsn string) (driver.Conn, error) {所以,我試圖將變量保存為 driver.Conn - 但是,我無(wú)法(不正確的導(dǎo)入)。我也無(wú)法導(dǎo)入驅(qū)動(dòng)程序。我嘗試的最后一件事是使用反射來(lái)顯示變量的名稱(chēng)package main import ( "fmt" "reflect")import "database/sql"import _ "github.com/go-sql-driver/mysql"func main() { db, _ := sql.Open("mysql", "root:password@/Tracker") yt := reflect.TypeOf(db).Kind() fmt.Printf("%T: %s\n", yt, yt)}不幸的是,這也不起作用 - 它顯示為指針,而不是它實(shí)際指向的變量類(lèi)型。我現(xiàn)在不知該如何解決。在此先感謝您的幫助!
將數(shù)據(jù)庫(kù)連接存儲(chǔ)在全局變量中
幕布斯7119047
2021-09-27 17:26:14