请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

import mysql的driver初始化

有提到一个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的方法定义。这是如何做到初始化的?

正在回答 回答被采纳积分+3

1回答

提问者 拧壶冲 2020-10-23 09:12:44

找到了,在 `github.com/go-sql-driver/mysql/driver.go` 有一个init,然后调用了sql.Regiester("mysql", &MySQLDriver{}) 注册了一个mysqldriver的实例。


1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号