Sobes.tech
Junior — Middle

Kun je verschillende datastructuren vergelijken?

sobes.tech AI

Antwoord van AI

In Go kunnen datastructuren worden vergeleken als al hun velden vergelijkbaar zijn. Bijvoorbeeld, structuren die bestaan uit basistypen (int, string, bool, enz.) kunnen direct worden vergeleken met behulp van de operator ==.

Echter, als een structuur velden bevat die niet vergeleken kunnen worden (bijvoorbeeld slices, kaarten, functies), zal de directe vergelijking van de structuur een compileerfout veroorzaken.

Voorbeeld van het vergelijken van structuren:

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
}

Als de structuur velden bevat die niet vergeleken kunnen worden, zoals slices, moet je een eigen vergelijkingsfunctie implementeren die de elementen doorloopt en ze element voor element vergelijkt.