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