Respuesta corta:
Es para importar un paquete únicamente por sus efectos secundarios.
De la especificación de Go :
Para importar un paquete únicamente por sus efectos secundarios (inicialización), use el identificador en blanco como nombre explícito del paquete:
importar _ "lib / math"
En sqlite3
En el caso de go-sqlite3 , la importación de subrayado se utiliza para el efecto secundario de registrar el sqlite3
controlador como un controlador de base de datos en la init()
función, sin importar ninguna otra función:
sql.Register("sqlite3", &SQLiteDriver{})
Una vez que se registra de esta manera, sqlite3 se puede usar con la sql
interfaz de la biblioteca estándar en su código como en el ejemplo:
db, err := sql.Open("sqlite3", "./foo.db")