Junior — Middle
Yaradılmamış və ya başlanğıc dəyərlərini almamış Map-ə elementlər əlavə etmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, map-ə element əlavə etmək mümkün deyil, əgər o əvvəlcədən initialized edilməyibsə. map tipində dəyişəni initialized etmədən elan etdikdə, onun dəyəri nil olur və bu map-ə yazmağa cəhd etmək icra zamanı panikaya səbəb olar.
Elementlər əlavə etmək üçün əvvəlcə make funksiyası ilə və ya literal ilə map-i yaratmaq lazımdır:
var m map[string]int // m == nil
m["key"] = 1 // panik: nil map-ə təyin
m = make(map[string]int) // indi m initialized
m["key"] = 1 // işləyir
// və ya birbaşa initialized
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // işləyir
Buna görə, element əlavə etməzdən əvvəl map yaradılmalı və nil olmamalıdır.