Senior
Mida sa oskad rääkida mapidest Go keeles?
sobes.tech AI
Vastus AI-lt
Go keeles on kaarditüüp sisseehitatud andmetüüp, mis rakendab assotsiatiivset massiivi või sõnastikku, kus võtmed on seotud väärtustega.
Kaardi omadused Go-s:
- Võtmed ja väärtused on määratletud tüüpidega, näiteks
map[string]int— võtmed on stringid, väärtused on täisarvud. - Kaart algatatakse
makefunktsiooni abil, näiteks:m := make(map[string]int). - Elementidele pääseb ligi
m[key]kaudu. - Kui võti puudub, tagastatakse väärtuse nullväärtus.
- Võtme olemasolu saab kontrollida teise tagastatava väärtusega:
val, ok := m[key]. - Kaardid ei ole järjestatud, läbimise järjekord on juhuslik.
- Kaardid ei ole voog-turvalised, paralleelset juurdepääsu jaoks tuleb kasutada sünkroniseerimist.
Näide:
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)
}
// Võtme kustutamine
delete(m, "banana")
}