Le langage de programmation Go vous permet d'importer des packages uniquement pour leurs effets secondaires, tels que l'initialisation de ressources externes. Ceci est réalisé en utilisant l'identifiant vide comme nom du package.
Un cas d'utilisation pratique pour l'importation avec un identifiant vide est lors de l'initialisation des pilotes de base de données. Par exemple, supposons que vous souhaitiez utiliser le pilote github.com/mattn/go-sqlite3 dans votre programme Go. Vous pouvez y parvenir sans utiliser explicitement aucune des fonctions exportées du pilote en l'important avec la syntaxe suivante :
import _ "github.com/mattn/go-sqlite3"
Cette instruction d'importation déclenche l'initialisation du pilote go-sqlite3. La fonction init du pilote, définie comme suit :
func init() { sql.Register("sqlite3", &SQLiteDriver{}) }
est exécutée lorsque le package est importé. Cette fonction enregistre le pilote sqlite3 avec le package sql, le rendant disponible pour une utilisation par votre programme.
L'importation avec un identifiant vide fonctionne grâce à la fonction init. Chaque fichier source d'un package Go peut définir sa propre fonction d'initialisation, qui est exécutée avant tout autre code du package. Cela permet l'initialisation de ressources externes sans nécessiter d'appels de fonction explicites.
Lorsqu'un package est importé avec un identifiant vide, sa fonction init est toujours exécutée. Cela permet des effets secondaires tels que l'initialisation des ressources sans introduire de variables ou de fonctions inutiles dans l'espace de noms du package d'importation.
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!