Sobes.tech
Junior — Middle

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

sobes.tech AI

პასუხი AI-სგან

Go ენისთვის, სანამ map-ს გამოიყენებთ, აუცილებელია მისი ინიციალიზაცია, წინააღმდეგ შემთხვევაში, დაწერის მცდელობა გამოიწვევს პანიკას (runtime panic). სიტუაციის მართვისთვის, როდესაც map ჯერ არ არის ინიციალიზებული (ანუ, nil), შეგიძლიათ:

  • გადაამოწმოთ, არის თუ არა map ინიციალიზებული გამოყენებამდე:
var m map[string]int
if m == nil {
    m = make(map[string]int)
}
 m["key"] = 42
  • ან დაუყოვნებლივ ინიციალიზაცია მოახდინოთ განცხადების დროს:
m := make(map[string]int)
 m["key"] = 42

ასე რომ, ყოველთვის უნდა დარწმუნდეთ, რომ map არ არის nil დაწერის წინ.