Senior
Kuidas on mapid Go-s üles ehitatud?
sobes.tech AI
Vastus AI-lt
Go keeles map on sisseehitatud andmetüüp, mis rakendab assotsiatiivset massiivi või sõnastikku, kus võtmed on seotud väärtustega.
Peamised omadused:
- Deklaratsioon:
map[keyType]valueType. - Initsialiseerimine: kasutades funktsiooni
makevõi literaali. - Juurdepääs: lugemine ja kirjutamine võtme järgi.
- Ilma järjekorrata:
mapelemendid ei ole sorteeritud. - Lõimede turvalisus:
mapei ole lõimede jaoks turvaline, nõuab sünkroniseerimist.
Näide:
package main
import "fmt"
func main() {
// Loome `map`-i string tüüpi võtmetega ja int tüüpi väärtustega
ages := make(map[string]int)
// Lisame elemente
ages["Alice"] = 30
ages["Bob"] = 25
// Loeme elementi
fmt.Println("Alice vanus:", ages["Alice"])
// Kontrollime, kas võti eksisteerib
age, ok := ages["Charlie"]
if !ok {
fmt.Println("Võti Charlie ei leitud")
} else {
fmt.Println("Charlie vanus:", age)
}
}
Seega on map Go keeles mugav ja tõhus viis salvestada võtme-väärtuse paare kiireks juurdepääsuks.