Sobes.tech
Senior

Go-də map haqqında nə deyə bilərsən?

sobes.tech Süni İntellekt

AI-dan cavab

Go'da xəritə daxili məlumat növüdür və assosiativ massiv və ya lüğət kimi işləyir, burada açarlar dəyərlərə uyğunlaşdırılır.

Go'da xəritənin xüsusiyyətləri:

  • Açarlar və dəyərlər müəyyən edilmiş tiplərə malikdir, məsələn, map[string]int — açarlar sətirdir, dəyərlər tam ədədlər.
  • Xəritə make funksiyası ilə başlanır, məsələn: m := make(map[string]int).
  • Elementlərə m[key] vasitəsilə daxil olmaq mümkündür.
  • Əgər açar mövcud deyilsə, dəyər növünün sıfır dəyəri qaytarılır.
  • Açarın mövcudluğunu ikinci dönüş dəyəri ilə yoxlamaq olar: val, ok := m[key].
  • Xəritələr sıralı deyil, gəzinti sırası təsadüfi olur.
  • Xəritələr çox iş parçacığı təhlükəsiz deyil, paralel giriş üçün sinxronizasiya istifadə edilməlidir.

Nümunə:

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

    // Açarı silmək
    delete(m, "banana")
}