Heim > Backend-Entwicklung > Golang > Wie kann ich Gleichheitsprüfungen für interface{}-Werte in Go durchführen?

Wie kann ich Gleichheitsprüfungen für interface{}-Werte in Go durchführen?

DDD
Freigeben: 2024-11-30 14:09:13
Original
744 Leute haben es durchsucht

How Can I Perform Equality Checks on interface{} Values in Go?

Schnittstellen-Gleichheitsprüfungen mit Schnittstelle{}

In Go ist es wichtig, die Feinheiten der Gleichheitsprüfung für in Schnittstellen{}-Slices gespeicherte Werte zu verstehen. In diesem Leitfaden werden die verfügbaren Methoden zum Überprüfen der Gleichheit verschiedener Werttypen, einschließlich benutzerdefinierter Strukturen, anhand eines bestimmten Schnittstellenwerts untersucht.

Ansatz für vergleichbare Typen

Beim Umgang mit vergleichbaren Typen, z Da es sich um Ganzzahlen (int) handelt, sind Gleichheitsprüfungen unkompliziert. Sie können die Werte direkt mit dem ==-Operator vergleichen.

var v interface{} = 10

for i := 0; i < len(A); i++ {
  if A[i] == v {
    fmt.Println("Gotcha!")
    break
  }
}
Nach dem Login kopieren

Überprüfung der Gleichheit von benutzerdefinierten Strukturen

Bei benutzerdefinierten Strukturen, die auch vergleichbar sind, hängt die Gleichheitsprüfung von der Feldvergleichbarkeit ab. Wenn alle Felder vergleichbar sind, können Sie die Strukturen direkt mit == vergleichen. Andernfalls müssen Sie Ihre eigene Gleichheitsfunktion definieren.

Einblicke in die Go-Spezifikation

Der Verweis auf die Go-Programmiersprachenspezifikation bietet Klarheit über die Schnittstellengleichheit.

  • Schnittstellenwerte sind vergleichbar, wenn sie identische dynamische Typen und gleiche dynamische Werte haben oder wenn beide Null sind.
  • Nicht-Schnittstellenwerte und Schnittstellenwerte sind vergleichbar, wenn der Nicht-Schnittstellentyp den Schnittstellentyp implementiert und ihre Werte gleich sind.
  • Strukturwerte sind vergleichbar, wenn alle ihre Felder vergleichbar sind, und gleich, wenn ihre entsprechenden Felder gleich sind.

Spielplatzdemonstration

Der folgende Spielplatz demonstriert die Gleichheitsprüfung für verschiedene Werttypen: https://play.golang.org/p/bgO1_V87v9k

Fazit

Das Verständnis der Gleichheitsprüfung für Schnittstellen{}-Werte vereinfacht die Go-Programmierung. Denken Sie daran, dass für Schnittstellenwerte, Strukturen und vergleichbare Typen spezifische Gleichheitsregeln gelten, die für genaue Ergebnisse befolgt werden sollten.

Das obige ist der detaillierte Inhalt vonWie kann ich Gleichheitsprüfungen für interface{}-Werte in Go durchführen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage