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