Sobes.tech
Junior — Middle

Hələ ilkinləşdirilməmiş xəritədən dəyər çıxarmaq mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Go-da, əgər xəritə (map) başlanğıcda qurulmayıbsa (yəni, nil-ə bərabərdirsə), ona açar vasitəsilə dəyər almağa cəhd panikaya səbəb olmadan, sadəcə dəyər növü üçün sıfır dəyərini və false boole bayrağını qaytaracaq, bu da açarın mövcud olmadığını göstərir.

Nümunə:

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

value, ok := m["key"]
fmt.Println(value, ok) // Çıxış: 0 false

Lakin, əgər qeyri-qurulmuş xəritəyə dəyər yazmağa çalışsanız, panika baş verəcək:

m["key"] = 10 // panic: nil xəritəyə təyin etmə

Bu səbəbdən, xəritəni təhlükəsiz istifadə etmək üçün, onu make ilə qurmalısınız:

m = make(map[string]int)
m["key"] = 10 // indi düzgün işləyir