Sobes.tech
Senior

Čo môžeš povedať o map v Go?

sobes.tech AI

Odpoveď od AI

V jazyku Go je mapa vstavaný dátový typ, ktorý implementuje asociatívny poľ a alebo slovník, kde sú kľúče priradené k hodnotám.

Vlastnosti mapy v Go:

  • Kľúče a hodnoty majú definované typy, napríklad map[string]int — kľúče sú reťazce, hodnoty celé čísla.
  • Mapa sa inicializuje pomocou funkcie make, napríklad: m := make(map[string]int).
  • Prístup k prvkom je cez m[key].
  • Ak kľúč neexistuje, vráti sa nulová hodnota typu hodnoty.
  • Môžete overiť existenciu kľúča pomocou druhej hodnoty návratu: val, ok := m[key].
  • Mapy nie sú zoradené, poradie prechodu je ľubovoľné.
  • Mapy nie sú bezpečné pre vlákna, pre súbežný prístup je potrebné použiť synchronizáciu.

Príklad:

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)
    }

    // Odstránenie kľúča
    delete(m, "banana")
}