Maison > développement back-end > Golang > le corps du texte

Pourquoi ne pouvez-vous pas comparer les Go Structs à l'aide d'opérateurs de commande ?

Linda Hamilton
Libérer: 2024-11-08 12:58:02
original
294 Les gens l'ont consulté

Why Can't You Compare Go Structs Using Order Operators?

Comparaison Go Struct - Comprendre les champs ordonnés et comparables

La spécification du langage de programmation Go indique qu'une structure comprenant uniquement des champs comparables doit être comparable. Cependant, un problème survient lorsque l'on tente de comparer des structures à l'aide d'opérateurs ordonnés.

Considérez le code suivant :

package main

type Student struct {
  Name  string
  Score uint8
}

func main() {
  alice := Student{"Alice", 98}
  carol := Student{"Carol", 72}

  if alice >= carol {
    println("Alice >= Carol")
  } else {
    println("Alice < Carol")
  }
}
Copier après la connexion

Il est prévu que ce code soit compilé avec succès en raison des champs comparables. Cependant, les tentatives de comparaison de structures à l'aide de l'opérateur >= échouent avec :

invalid operation: alice >= carol (operator >= not defined on struct)
Copier après la connexion

Dans Go, les structures sont comparables mais non ordonnées. La spécification clarifie ceci :

"Les opérateurs de classement <, <=, > et >= s'appliquent aux opérandes ordonnés."

Par conséquent, même si les structures peuvent être comparées pour l'égalité, elles ne peuvent pas être ordonnées à l'aide d'opérateurs comme >=, comme le montre l'exemple ci-dessus.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!