Warum können Sie Go-Strukturen nicht mithilfe von Auftragsoperatoren vergleichen?

Linda Hamilton
Freigeben: 2024-11-08 12:58:02
Original
294 Leute haben es durchsucht

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

Go-Strukturvergleich – Geordnete vs. Vergleichbare verstehen

Die Go-Programmiersprachenspezifikation besagt, dass eine Struktur, die nur vergleichbare Felder umfasst, vergleichbar sein sollte. Beim Versuch, Strukturen mit geordneten Operatoren zu vergleichen, tritt jedoch ein Problem auf.

Beachten Sie den folgenden Code:

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")
  }
}
Nach dem Login kopieren

Erwartungsgemäß wird dieser Code aufgrund der vergleichbaren Felder erfolgreich kompiliert. Versuche, Strukturen mit dem Operator >= zu vergleichen, schlagen jedoch fehl mit:

invalid operation: alice >= carol (operator >= not defined on struct)
Nach dem Login kopieren

In Go sind Strukturen vergleichbar, aber nicht geordnet.Die Spezifikation stellt dies klar:

"Die Ordnungsoperatoren <, <=, > und >= gelten für Operanden, die sind geordnet."

Strukturen können daher zwar auf Gleichheit verglichen werden, sie können jedoch nicht mit Operatoren wie >= geordnet werden, wie im obigen Beispiel zu sehen ist.

Das obige ist der detaillierte Inhalt vonWarum können Sie Go-Strukturen nicht mithilfe von Auftragsoperatoren vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!