Junior — Middle
Kann man den Vergleich verschiedener Datenstrukturen durchführen?
sobes.tech KI
Antwort von AI
In Go können Datenstrukturen verglichen werden, wenn alle ihre Felder vergleichbar sind. Zum Beispiel können Strukturen, die aus Basistypen (int, string, bool usw.) bestehen, direkt mit dem Operator == verglichen werden.
Wenn eine Struktur jedoch Felder enthält, die nicht vergleichbar sind (z.B. Slices, Maps, Funktionen), führt der direkte Vergleich der Struktur zu einem Kompilierungsfehler.
Beispiel für den Vergleich von Strukturen:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
p1 := Person{Name: "Alice", Age: 30}
p2 := Person{Name: "Alice", Age: 30}
p3 := Person{Name: "Bob", Age: 25}
fmt.Println(p1 == p2) // true
fmt.Println(p1 == p3) // false
}
Wenn die Struktur Felder enthält, die nicht vergleichbar sind, z.B. Slices, muss eine eigene Vergleichsfunktion implementiert werden, die die Elemente durchgeht und sie elementweise vergleicht.