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
}
posted @ 2021-09-15 08:55  Richardo-M-Lu  阅读(1469)  评论(0编辑  收藏  举报