Sobes.tech
Senior

Co můžeš říct o mapách v Go?

sobes.tech AI

Odpověď od AI

V jazyce Go je mapa vestvený datový typ, který implementuje asociativní pole nebo slovník, kde jsou klíče přiřazeny hodnotám.

Vlastnosti mapy v Go:

  • Klíče a hodnoty mají definované typy, například map[string]int — klíče jsou řetězce, hodnoty celá čísla.
  • Mapa je inicializována pomocí funkce make, například: m := make(map[string]int).
  • Přístup k prvkům přes m[key].
  • Pokud klíč neexistuje, vrací se nulová hodnota typu hodnoty.
  • Přítomnost klíče lze ověřit pomocí druhé hodnoty návratu: val, ok := m[key].
  • Mapy nejsou seřazené, pořadí průchodu je libovolné.
  • Mapy nejsou bezpečné pro vlákna, pro paralelní přístup je třeba použít synchronizaci.

Pří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)
    }

    // Odstranění klíče
    delete(m, "banana")
}