Junior — Middle
Кайсы учурларда Map'тен маалыматтарды окуу коопсуз, ал дагы ачык түрдө башталбаган болсо?
sobes.tech AI
AIден жооп
Go-da, map-ден окуу, ал аны ачык түрдө баштаган эмес (яъни, nil болсо), коопсуз, бирок чектөөлөр менен.
Эгер map nil болсо:
- Ачкыч боюнча маанини окуу, элементтин нөл маанисин жана
falseкайтарат, ачкычтын бар-жогун текшерүүдө. - Мындай
mapке жазуу (белгилөө) panic алып келет.
Мисал:
var m map[string]int // m == nil
value, ok := m["key"] // коопсуз, value == 0, ok == false
// m["key"] = 10 // panic: nil mapке белгилөө
Ошондуктан, map башталбаган болсо, окуу коопсуз, бирок ага жазуу мүмкүн эмес. Жазуу үчүн алдын ала make менен баштоо керек.