Sobes.tech
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.