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