Sobes.tech
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 менен баштоо керек.