Sobes.tech
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 make või literaali.
  • Juurdepääs: lugemine ja kirjutamine võtme järgi.
  • Ilma järjekorrata: map elemendid ei ole sorteeritud.
  • Lõimede turvalisus: map ei 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.