go导入包但不使用,包前的下划线是干什么的?

1 篇文章 0 订阅
在Go语言中,可以使用下划线导入包来避免未使用的导入包错误,如`_github.com/go-sql-driver/mysql`。这样做是为了初始化数据库驱动,例如MySQL,驱动包的`init`函数会被调用并注册驱动。之后在代码中可以通过`sql.Open(mysql,...)`来创建和使用数据库连接。
摘要由CSDN通过智能技术生成

是为了引入包而不直接使用这个包中定义的函数,变量等资源。

如果引入包但不使用会报错,前面加个下划线就可以绕开这个问题。

例如MySQL连接初始化

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

var (
	Db  *sql.DB
	err error
)

func main() {
	Db, err = sql.Open("mysql", "root:root@tcp(localhost:3306)/db")
}

在创建 sql.DB 之后不能直接使用,需要根据数据库类型做初始化。

引入mysql数据库驱动包之后会自动去调用其中的 init 函数,然后在 init 函数里面注册这个数据库驱动,这样我们就可以在接下来的业务逻辑中直接使用这个数据库驱动了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值