Go 中使用 MySQL 和 Gin 时,遇到“panic recovered:runtime error: invalid memory address or nil pointer dereference”错误,如何解决?

go 中使用 mysql 和 gin 时,遇到“panic recovered:runtime error: invalid memory address or nil pointer dereference”错误,如何解决?

go 中 mysql gin 操作报错

问题:

使用 golang mysql 驱动和 gin 框架时遇到如下错误:

panic recovered:
runtime error: invalid memory address or nil pointer dereference
/snap/go/8489/src/database/sql/sql.go:2578 (0x4f30c2)
        (*stmt).execcontext: s.closemu.rlock()

原因:

该错误表明尝试在关闭的语句上执行操作。很可能是因为使用了 mysql 驱动的 stmt.exec() 而没有使用 stmt.execcontext()。

解决方法:

确保始终使用 stmt.execcontext(),即使未使用上下文参数。例如:

_, err := stmt.ExecContext(context.TODO(), req.IdCode, c.Request.RemoteAddr)

以上就是Go 中使用 MySQL Gin 时,遇到“panic recovered:runtime error: invalid memory address or nil pointer dereference”错误,如何解决?的详细内容,更多请关注其它相关文章!