import mysql的driver初始化
来源:3-6 编码实战:持久化元数据到文件表

拧壶冲
2020-10-23
有提到一个package当被import的时候,文件中的init()会被自动执行。
这节课中使用import _ "github.com/go-sql-driver/mysql"
是不是就是这个目的?
如果不import mysql的package,sql.Open出来就是空的, sql.Drivers里面也是空的。所以我理解在import的时候,执行了init,并且init,将mysql的driver加到当前sql的drivers中,这样我们在Open的时候就可以使用mysql的driver创建一个db的结构。
但是我看了下 github.com/go-sql-driver/mysql 的package,里面没有init的方法定义。这是如何做到初始化的?
写回答
1回答
-
拧壶冲
提问者
2020-10-23
找到了,在 `github.com/go-sql-driver/mysql/driver.go` 有一个init,然后调用了sql.Regiester("mysql", &MySQLDriver{}) 注册了一个mysqldriver的实例。
10
相似问题