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