Sobes.tech
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.