Sobes.tech
Junior — Middle

Hali tayyorlanmagan lug'atdagi qiymatlarga qanday kirish mumkin?

sobes.tech AI

AIdan javob

Go tilida, agar xarita (map) hali hali yaratilmagan bo‘lsa (ya’ni, nil bo‘lsa), kalit bo‘yicha elementlarga kirish panikaga olib kelmaydi, balki elementlar turining nol qiymatini qaytaradi.

Masalan:

var m map[string]int // m == nil
fmt.Println(m["key"]) // 0 chiqaradi, xato qilmaydi

Ammo, nil xaritaga qiymat tayinlash panikaga olib keladi:

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

Shuning uchun, xaritaga yozishdan oldin, uning inicializatsiya qilinganligiga ishonch hosil qilish kerak, masalan:

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

Shunday qilib, o‘qishda nil xaritaga murojaat qilish xatoga olib kelmaydi, yozishda esa xaritani avval yaratish shart.