Senior
Ką gali papasakoti apie map'us Go kalboje?
sobes.tech AI
Atsakymas iš AI
Go kalboje žemėlapis yra įmontuotas duomenų tipas, kuris įgyvendina asociatyvųjį masyvą arba žodyną, kur raktai yra susieti su reikšmėmis.
Go žemėlapio ypatybės:
- Raktai ir reikšmės turi apibrėžtus tipus, pavyzdžiui,
map[string]int— raktai yra eilutės, reikšmės yra sveikieji skaičiai. - Žemėlapis inicijuojamas naudojant funkciją
make, pavyzdžiui:m := make(map[string]int). - Prieiga prie elementų per
m[key]. - Jei raktas neegzistuoja, grąžinama reikšmės nulio reikšmė.
- Raktų buvimas gali būti patikrintas naudojant antrąjį grąžinamąjį reikšmę:
val, ok := m[key]. - Žemėlapiai nėra tvarkingi, jų perėjimo tvarka yra atsitiktinė.
- Žemėlapiai nėra srauto saugūs, norint naudoti lygiagretą prieigą, reikia naudoti sinchronizaciją.
Pavyzdys:
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)
}
// Raktų šalinimas
delete(m, "banana")
}