Sobes.tech
Junior — Middle

Каким образом обрабатывать ситуации, когда Map еще не была инициализирована?

sobes.tech AI

Odpowiedź od AI

W Go, przed użyciem map należy ją zainicjalizować, w przeciwnym razie próba zapisania spowoduje panic (runtime panic). Aby obsłużyć sytuację, gdy map jeszcze nie jest zainicjalizowana (czyli jest nil), można:

  • Sprawdzić, czy map jest zainicjalizowana przed użyciem:
var m map[string]int
if m == nil {
    m = make(map[string]int)
}
 m["key"] = 42
  • Lub zainicjalizować map od razu przy deklaracji:
m := make(map[string]int)
 m["key"] = 42

W ten sposób zawsze należy upewnić się, że map nie jest nil przed zapisaniem do niego.