Sobes.tech
Junior — Middle

Welke gegevenstypen zijn geschikt voor gebruik als sleutels in een Map-structuur?

sobes.tech AI

Antwoord van AI

In Go kunnen de sleutels in een map-structuur alleen van typen zijn die de vergelijking op gelijkheid (== en !=) ondersteunen. Dit komt doordat het vergelijken van sleutels nodig is om een waarde te zoeken.

Geschikte sleuteltypen:

  • Eenvoudige typen: int, float64, string, bool, enz.
  • Pointers
  • Structuren, als al hun velden vergelijkbaar zijn
  • Arrays, als hun elementen vergelijkbaar zijn

Niet te gebruiken als sleutels:

  • Slices (slice)
  • Maps (map)
  • Functies

Voorbeeld van gebruik:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Als je probeert een slice als sleutel te gebruiken, geeft de compiler een fout.