invalid memory address處理


報錯信息:panic: runtime error: invalid memory address or nil pointer dereference

報錯分析:字面意思來看是由於無效的內存地址或者空指針引起

代碼檢查:發現如下代碼有問題,initdb的時候重新創建了一個db的變量,把全局的db給覆蓋了,全局的db依然是一個空的內存地址,所以后續用全局的db處理的時候報上述錯誤。

var db *sqlx.DB

func initDB() (err error) {
	addr := "root:xxxxx@tcp(127.0.0.1:3306)/goday"
	db, err := sqlx.Connect("mysql", addr)
	if err != nil {
		return
	}
	// 最大連接
	db.SetMaxOpenConns(100)
	// 最大空閑
	db.SetMaxIdleConns(16)
	return
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM