Maison >développement back-end >Golang >Pourquoi utiliser des traits de soulignement lors de l'importation de packages dans Go ?

Pourquoi utiliser des traits de soulignement lors de l'importation de packages dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-24 14:43:10893parcourir

Why Use Underscores When Importing Packages in Go?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn