Sobes.tech
Junior — Middle

Hali hali tayyorlanmagan Map turidagi o'zgaruvchiga qanday harakatlar mumkin?

sobes.tech AI

AIdan javob

Go tilida, map turidagi o'zgaruvchi standart ravishda nil qiymatiga ega, agar u initsializatsiya qilinmagan bo'lsa.

nil bo'lgan map bilan quyidagi amallar mumkin:

  • Kalit bo'yicha qiymatni o'qish — u null qiymat va kalit mavjud emasligini bildiruvchi belgi bilan qaytariladi.
  • value, ok := map[key] operatori yordamida kalitning mavjudligini tekshirish.

Qabul qilinmaydigan amallar:

  • Yozish (kalitga qiymat tayinlash) panic bilan natijalanadi.
  • delete kabi funksiyalarni chaqirish, nil mapda xavfsiz va panic chaqirmaydi.

Misol:

var m map[string]int // m == nil

v, ok := m["key"] // ok == false, v == 0

// m["key"] = 10 // panic: nil mapga yozish

delete(m, "key") // xavfsiz, hech narsa qilmaydi

Yozish uchun mapni initsializatsiya qilish kerak, masalan, make yordamida:

m = make(map[string]int)
m["key"] = 10 // endi ishlaydi