L'identificateur blanc `_`
Fait partie de la section Logique & Flux du Journey GO de Coddy — leçon 55 sur 68.
Parfois, vous devez importer un paquet non pas pour utiliser ses fonctions ou variables exportées, mais pour déclencher ses effets secondaires. L'effet secondaire le plus courant est l'exécution de la fonction init du paquet, qui s'exécute automatiquement lorsque le paquet est importé.
Go fournit l'identificateur vide _ à cet effet. Lorsque vous importez un paquet avec l'identificateur vide, Go importe le paquet et exécute tout code d'initialisation, mais ne vous oblige pas à utiliser l'un de ses identificateurs exportés.
import _ "database/sql/driver"Ceci est particulièrement utile lorsque vous avez besoin qu'un package s'enregistre lui-même auprès d'un autre système ou effectue des tâches de configuration, mais que vous n'appelez directement aucune de ses fonctions dans votre code. Sans l'identificateur blanc, Go vous donnerait une erreur de compilation pour l'importation d'un package inutilisé.
L'identifiant vide indique à Go : « Importe ce package pour ses effets secondaires, mais je ne le référencerai pas directement dans mon code. » Cela permet de garder vos imports propres tout en obtenant le comportement d'initialisation dont vous avez besoin.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Structures de contrôle avancées
Switch avec `fallthrough`Sortir de boucles imbriquéesContinuer une boucle spécifiqueL'instruction `goto`Récapitulatif - Contrôle de boucle avancé4Projet : Liste de tâches simple
Configuration du projetAjouter une tâche2Structures et Méthodes
Définir des méthodes sur des structuresReceveurs par valeurReceveurs par pointeurChoisir les receveursMéthodes vs FonctionsRécapitulatif - Comportement des structures5Les Maps en profondeur
Maps de StructsPointeurs comme valeurs de MapTester les Maps NilComparer des MapsRécapitulatif - Compteur de fréquence de mots3Interfaces (Les bases)
Qu'est-ce qu'une Interface ?Définir une InterfaceImplémenter une InterfaceUtiliser les types d'InterfaceInterface videAssertions de typeType SwitchRécapitulatif - Formes et comportements6Go idiomatique : Les ensembles
L'idiome des ensembles en GoCréer un ensembleAjouter à un ensembleVérifier l'appartenanceSupprimer d'un ensembleItérer sur un ensembleRécapitulatif - Noms d'utilisateur uniques9Packages et Portée
Qu'est-ce qu'un Package ?Exporté vs Non-exportéCréer un Package SimpleAliasing de PackageL'identificateur blanc `_`La fonction `init`Récapitulatif - Créer un utilitaire