Et je n'arrive pas à comprendre ce genre de déclaration de variable:
_, prs := m["example"]
Que fait exactement " _,
" et pourquoi ont-ils déclaré une variable comme celle-ci au lieu de
prs := m["example"]
(Je l'ai trouvé dans le cadre de Go by Example: Maps )
prs
signifie probablement "présent". Le code de votre exemple vérifie la présence ou l'absence d'une entrée"example"
dans lam
carte.Réponses:
Cela évite d'avoir à déclarer toutes les variables pour les valeurs de retour.
C'est ce qu'on appelle l' identifiant vierge .
Un péché:
(l' autre '
_
' cas d'utilisation est pour l'importation )Puisqu'il ignore la valeur de retour, il est utile lorsque vous souhaitez vérifier une seule des valeurs renvoyées, comme dans " Comment tester l'existence d'une clé dans une carte? " Affiché dans " Effective Go, map ":
Comme l' ajoute Jsor dans les commentaires :
Cela vous permet de le combiner avec test:
Vous le trouverez également en boucle:
la source
Le compilateur Go ne vous permettra pas de créer des variables que vous n'utilisez jamais.
Le code ci-dessus renverra un message d'erreur "J'ai déclaré et non utilisé".
Puisque nous n'utilisons pas i dans notre boucle, nous devons le changer en ceci:
la source
_
est l'identifiant vide. Cela signifie que la valeur à attribuer est ignorée.Ici, c'est la valeur de la
example
clé qui est ignorée. La deuxième ligne de code rejetterait le booléen de présence et stockerait la valeur dansprs
.Donc, pour vérifier uniquement la présence sur la carte, vous pouvez ignorer la valeur. Cela peut être utilisé pour utiliser une carte comme un ensemble.
la source
Extrait:
Le langage de programmation Go (Addison-Wesley Professional Computing Series)
Brian W. Kernighan
Ce matériel peut être protégé par le droit d'auteur.
la source
Il s'appelle l'identificateur vide et cela aide dans les cas où vous souhaitez ignorer la valeur qui va être retournée et ne pas la référencer
Quelques endroits où nous l'utilisons:
la source
Le grand cas d'utilisation de la variable inutilisée est la situation où vous n'avez besoin que d'une sortie partielle. Dans l'exemple ci-dessous, il suffit d'imprimer la valeur (état de la population).
la source
Fondamentalement,
_,
connu sous le nom d'identifiant vide. Dans GO, nous ne pouvons pas avoir de variables qui ne sont pas utilisées.En tant qu'instance lorsque vous parcourez un tableau si vous utilisez value: = range, vous ne voulez pas de i valeur pour l'itération. Mais si vous omettez la valeur i, il renverra une erreur. Mais si vous déclarez i et ne l'avez pas utilisé, cela renverra également une erreur.
C'est donc là que nous devons utiliser
_,
.Il est également utilisé lorsque vous ne voulez pas de valeur de retour d'une fonction à l'avenir.
la source
Si vous venez d'autres langages de programmation, cela peut sembler un peu difficile de s'y habituer. Mais cela se traduit par un code plus propre. Donc, en utilisant a,
_
nous disons que nous savons qu'il y a une variable là-bas, mais nous ne voulons pas l'utiliser et dire au compilateur qu'il ne m'en plaint pas. :)la source