错误描述:sql: unknown driver "mysql" (forgotten import?) panic: runtime error: invalid memory address or nil pointer dereferen ce 解决过程: 1、清除缓存
2、添加包import _ "github.com/go-sql-driver/mysql"
_
(下划线)用于导入包但不使用它的情况。具体来说,_
用于在导入包时只执行包的初始化功能,而不创建对包中任何变量、函数或方法的引用。
这表示导入了 github.com/go-sql-driver/mysql
包,但代码中没有使用它的任何变量、函数或方法。通常这样的导入语句用于执行包的初始化逻辑,例如注册数据库驱动。
在这里,_
的作用是告诉 Go 编译器虽然导入了这个包,但不要创建对其的引用,仅执行其初始化逻辑。
在特定的情况下,比如在使用 database/sql
包的时候,驱动包的初始化可能是通过 _
导入的,以确保在程序运行时能够正确注册数据库驱动。
总的来说,_
的使用是为了满足 Go 语言中的导入规则,同时避免在代码中创建未使用的变量引用。