Sobes.tech
Senior

Wat kun je vertellen over de map in Go?

sobes.tech AI

Antwoord van AI

In Go is een map een ingebouwd gegevenstype dat een associatief array of woordenboek implementeert, waarbij sleutels worden gekoppeld aan waarden.

Kenmerken van de map in Go:

  • Sleutels en waarden hebben gedefinieerde typen, bijvoorbeeld map[string]int — sleutels van string, waarden van gehele getallen.
  • De map wordt geïnitialiseerd met de functie make, bijvoorbeeld: m := make(map[string]int).
  • Toegang tot elementen via m[key].
  • Als de sleutel niet bestaat, wordt de nulwaarde van het waarde-type geretourneerd.
  • Het bestaan van een sleutel kan worden gecontroleerd met de tweede return-waarde: val, ok := m[key].
  • Maps zijn niet geordend, de volgorde van iteratie is willekeurig.
  • Maps zijn niet thread-safe, voor gelijktijdige toegang moet synchronisatie worden gebruikt.

Voorbeeld:

package main
import "fmt"

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

    val, ok := m["apple"]
    if ok {
        fmt.Println("apple:", val)
    }

    // Verwijder een sleutel
    delete(m, "banana")
}