Go语言import一个包但是不调用,那它import干啥子

一开始学习Go的时候,看到如下

import  _ "xxx/xxx"

其实这是调用里面的init方法做一些初始化,注册之类的。

例子

package main

import (
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql" // 导入驱动程序 
	"time"
)

func main() {
	dsName := "root:xxxxxx@tcp(127.0.0.1:3306)/resk?charset=utf8&parseTime=true&loc=Local"
	db, err := sql.Open("mysql", dsName)
	if err != nil {
		fmt.Println(err)
	}
	db.SetConnMaxLifetime(7 * time.Hour)
	db.SetMaxIdleConns(2)
	db.SetMaxOpenConns(3)
	fmt.Println(db.Query("select now()"))
	defer db.Close()

}


Go语言import一个包但是不调用,那它import干啥子_第1张图片
大家可以看到这个,其实就算执行里面的init方法,注册驱动程序

你可能感兴趣的:(杂七杂八扫盲区)