go-sql-driver/mysql是如何被调用的

最近学习到go语言使用go-sql-driver/mysql驱动时,遇到一些问题,这里总结和分析下,看对gopher们有木有用。

首先,网上找的文章,大都是雷同的怎么怎么使用,但比较少涉及到具体的调用流程,我也是初学者,理解不一定透彻,如有问题,读者朋友们请不吝赐教。

网上的文章包括官方都是说先导入包:

import (
"database/sql"
_"github.com/go-sql-driver/mysql"

)

然后就开始各种api如何调用的例子了,但为何import包时,"github.com/go-sql-driver/mysql"加下划线空指示符呢?假如不加下划线,编译时会报imported and not used: "github.com/go-sql-driver/mysql"错误,那么不导入行不行?显然也不行,这样的导入方式的意义何在?这个驱动是如何被调用的呢?可能很多人没有注意或者现在发现这个问题也有点蒙圈了,别急,先让我们温习下:

1.go语言本身没有没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动。而go-sql-driver/mysql是比较流行的一个,它实现了go定义的标准接口。所以我们使用标准接口,实际调用的是go-sql-driver/mysql驱动的实现。

2.我们知道,go语言的每个包都有一个或多个init函数,且该函数没有参数和返回值,也不能显示的调用,它

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值