Junior — Middle
Henüz başlatılmamış bir haritadan değer alınabilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da, eğer bir harita (map) başlatılmamışsa (yani nil ise), ona anahtar üzerinden değer almaya çalışmak panik oluşturmaz, sadece değer tipi için sıfır değeri ve anahtarın bulunmadığını belirten false boolean bayrağını döner.
Örnek:
var m map[string]int // m == nil
value, ok := m["key"]
fmt.Println(value, ok) // Çıktı: 0 false
Ancak, başlatılmamış bir haritaya değer yazmaya çalışırsanız, panik olur:
m["key"] = 10 // panic: nil haritaya atama
Bu nedenle, haritayı güvenli kullanmak için, örneğin make kullanarak başlatmanız gerekir:
m = make(map[string]int)
m["key"] = 10 // artık düzgün çalışıyor