Importation de packages avec effets secondaires dans Go
Lors de l'examen du code qui utilise la bibliothèque go-sqlite3, on peut rencontrer une instruction d'importation avec un soulignement qui le précède, semblable à ce qui suit :
import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "log" "os" )
Cette utilisation du trait de soulignement est une méthode dans Go pour l'importation un package uniquement pour ses effets secondaires. Comme indiqué dans la spécification Go :
To import a package solely for its side-effects (initialization), use the blank identifier as explicit package name: import _ "lib/math"
Exemple : initialisation de go-sqlite3
Dans le cas de go-sqlite3, cette importation de trait de soulignement sert à enregistrer le pilote sqlite3 en tant que pilote de base de données via la fonction init(), sans qu'il soit nécessaire d'importer d'autres fonctions depuis le package :
sql.Register("sqlite3", &SQLiteDriver{})
Une fois enregistré, le pilote sqlite3 peut être utilisé avec l'interface SQL de la bibliothèque standard, comme le montre l'exemple suivant :
db, err := sql.Open("sqlite3", "./foo.db")
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!