Sobes.tech
Senior

Šta možeš reći o mapama u Go?

sobes.tech АИ

Одговор од АИ

U Go-u, mapa je ugrađeni tip podataka koji implementira asocijativni niz ili rečnik, gde su ključevi povezani sa vrednostima.

Karakteristike mape u Go-u:

  • Ključevi i vrednosti imaju definisane tipove, na primer, map[string]int — ključevi su nizovi, vrednosti celobrojne.
  • Mapa se inicijalizuje pomoću funkcije make, na primer: m := make(map[string]int).
  • Pristup elementima je putem m[key].
  • Ako ključ ne postoji, vraća se nulta vrednost tipa vrednosti.
  • Postojanje ključa može se proveriti pomoću druge vrednosti povratka: val, ok := m[key].
  • Mapama nije određen red, red prolaska je proizvoljan.
  • Mapama nije bezbedno za višestruko pokretanje niti, za konkurentan pristup potrebno je koristiti sinhronizaciju.

Primer:

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

    // Brisanje ključa
    delete(m, "banana")
}