Junior — Middle
Welke gegevenstypen zijn toegestaan als sleutels voor de map-structuur?
sobes.tech AI
Antwoord van AI
In Go kunnen de sleutels voor een map alleen van datatypes zijn die de vergelijking (vergelijkbaar) ondersteunen. Dit betekent dat de sleutels kunnen zijn:
- Booleaanse waarden (bool)
- Getallen (int, float, complex, etc.)
- Strings (string)
- Pointers
- Interfaces, als het dynamische type vergelijking ondersteunt
- Structuren, als al hun velden vergelijkbaar zijn
Delen, kaarten, functies en andere niet-vergelijkbare types kunnen niet als sleutels worden gebruikt, omdat ze de operator == niet ondersteunen.
Voorbeeld:
m := make(map[string]int)
m["key"] = 42
// Struct met vergelijkbare velden
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Een punt"