Maison > développement back-end > Golang > Quand devriez-vous utiliser l'importation d'identifiants vierges de Go ?

Quand devriez-vous utiliser l'importation d'identifiants vierges de Go ?

Linda Hamilton
Libérer: 2024-11-30 17:43:11
original
290 Les gens l'ont consulté

When Should You Use Go's Blank Identifier Import?

Importation avec un identifiant vide : un cas d'utilisation pratique

Le langage de programmation Go permet d'importer des packages uniquement pour leurs effets secondaires d'initialisation. Ceci peut être réalisé en utilisant l'identifiant vide comme nom explicite du package, comme le montre cet exemple :

import _ "foo/bar"
Copier après la connexion

Cette instruction d'importation suggère que le package foo/bar sera importé pour ses fonctions d'initialisation, mais son les fonctions exportées ne seront pas utilisées dans le programme d'importation.

Exemple concret : enregistrement du pilote de base de données

Un cas d'utilisation pratique car cette construction réside dans l’enregistrement du pilote de base de données. Un package de pilote de base de données contient souvent une fonction d'initialisation qui enregistre le pilote auprès de la bibliothèque de base de données.

Par exemple, dans le package go-sqlite3, la fonction d'initialisation suivante enregistre le pilote SQLite3 :

func init() {
    sql.Register("sqlite3", &SQLiteDriver{})
}
Copier après la connexion

En important go-sqlite3 avec un identifiant vide, le programme importateur peut enregistrer le pilote SQLite3 sans utiliser directement aucun de ses fichiers exportés. fonctions :

import _ "github.com/mattn/go-sqlite3"

func main() {
    // Connect to a SQLite3 database using the registered driver.
}
Copier après la connexion

Autres exemples d'effets secondaires d'initialisation

Les fonctions d'initialisation peuvent également être utilisées pour :

  • Définir global state : Par exemple, un package peut définir une fonction d'initialisation qui définit la journalisation par défaut niveau.
  • Charger les ressources : Un package peut importer un fichier contenant une structure de données précalculée ou des valeurs de configuration en mémoire.
  • Effectuer des actions de nettoyage : Un package peut définir une fonction d'initialisation qui s'exécute lorsque le package est importé, par exemple pour enregistrer un nettoyage de ressources. rappel.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal