Sobes.tech
Junior — Middle

თუ თქვენ ცდილობთ დაამატოთ ელემენტი Map-ში, რომელიც ჯერ კიდევ შექმნილი ან ინიციალიზებული არ არის, რა მოხდება?

sobes.tech AI

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

Go-ში, თუ სცადეთ დაამატოთ ელემენტი არინიციალიზებულ (ანუ nil) მაპში, მოხდება პანიკა (runtime პანიკა).

მაგალითი:

var m map[string]int // m არის nil
m["key"] = 10      // პანიკა: დაწერა nil მაპში

ამის თავიდან ასაცილებლად, მაპი უნდა იყოს ინიციალიზებული make-ის საშუალებით:

m := make(map[string]int)
m["key"] = 10 // სწორად მუშაობს

ამიტომ, ელემენტების დამატებამდე, მაპი უნდა შეიქმნას და ინიციალიზდეს.