Sobes.tech
Senior

Welke datatypes kunnen worden gebruikt als sleutel voor een kaart? Kan een array als sleutel worden gebruikt?

sobes.tech AI

Antwoord van AI

In Go kan de sleutel voor een map elk type zijn dat de vergelijking == en != ondersteunt. Dit betekent dat de sleutels basis types kunnen zijn (int, string, bool, etc.), pointers, structuren als al hun velden vergelijkbaar zijn, en ook interfaces als het dynamische type vergelijkbaar is.

Arrays in Go zijn vergelijkbaar als hun elementen vergelijkbaar zijn, dus arrays kunnen als sleutels in een map worden gebruikt. Bijvoorbeeld:

m := make(map[[3]int]string)
 m[[3]int{1, 2, 3}] = "waarde"

Slices kunnen echter niet als sleutels worden gebruikt omdat ze niet vergelijkbaar zijn (behalve bij vergelijking met nil).