Junior — Middle
Kun je twee segmenten van een array of lijst met elkaar vergelijken?
sobes.tech AI
Antwoord van AI
In Go is het niet mogelijk om twee slices direct te vergelijken met de == operator, behalve voor vergelijking met nil. Om de inhoud van slices te vergelijken, moet je je eigen functie schrijven of het reflect-pakket gebruiken.
Voorbeeld van een functie om twee slices van gehele getallen te vergelijken:
func slicesEqual(a, b []int) bool {
if len(a) != len(b) {
return false
}
for i := range a {
if a[i] != b[i] {
return false
}
}
return true
}
Je kunt ook reflect.DeepEqual(a, b) gebruiken, maar dat is minder efficiënt en geschikt voor algemene gevallen.
Dus, vergelijken van slices is mogelijk, maar vereist een expliciete implementatie van de elementvergelijking.