Maison > développement back-end > Golang > Comment pouvons-nous comparer les valeurs de l'interface{} pour l'égalité en Go ?

Comment pouvons-nous comparer les valeurs de l'interface{} pour l'égalité en Go ?

Mary-Kate Olsen
Libérer: 2024-12-05 21:24:11
original
741 Les gens l'ont consulté

How Can We Compare interface{} Values for Equality in Go?

Pouvons-nous vérifier l'égalité de l'interface{} ?

En Go, il est essentiel de savoir comparer deux valeurs d'égalité, notamment lorsqu'il s'agit d'interface{ } types.

Considérez l'extrait de code suivant :

var v interface{}
for i := 0; i < len(A); i++ {
  if (A[i] == v) {
    fmt.Println("Gotcha!")
    break
  }
}
Copier après la connexion

Ce code est destiné à rechercher une valeur spécifique dans une tranche d'interface{}. Cependant, lorsqu'il s'agit de structures personnalisées, la question se pose : comment déterminer l'égalité des valeurs de ces structures stockées en tant qu'interface{} ?

Grâce aux informations partagées dans les commentaires, voici une explication basée sur la spécification du langage de programmation Go :

Interface{} Égalité

  • Deux valeurs d'interface{} sont égales si elles ont la même dynamique type et valeur, ou si les deux ont une valeur nulle.
  • Pour une valeur x de type X et une valeur t de type interface{}, elles sont comparables si les valeurs de type X sont comparables et que X implémente T. Ils sont égaux si le type dynamique de t est X et la valeur dynamique de t est égale à x.

Struct Égalité

  • Les valeurs de structure sont comparables si chaque champ de la structure est comparable.
  • Deux valeurs de structure sont égales si leurs champs non vides correspondants sont égaux.

En termes plus simples, vérifier l'égalité dans Go est simple, que vous ayez affaire à une interface{} ou à des structures. Cependant, il convient de noter qu'en cas de confusion, le Go Playground peut être un outil précieux pour expérimenter et comprendre le fonctionnement de l'égalité.

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