É introduzir um pacote sem usar diretamente as funções, variáveis e outros recursos definidos neste pacote.
Se o pacote for importado, mas não for usado, um erro será relatado. Adicionar um sublinhado na frente dele pode contornar esse problema.
Por exemplo, inicialização de conexão 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")
}
Não pode ser usado diretamente após a criação do sql.DB, ele precisa ser inicializado de acordo com o tipo de banco de dados.
Depois de importar o pacote do driver do banco de dados mysql, ele chamará automaticamente a função init e registrará o driver do banco de dados na função init, para que possamos usar diretamente o driver do banco de dados na próxima lógica de negócios.