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.