Junior — Middle
Vai ir iespējams pievienot elementus Map, kas vēl nav izveidots vai nav saņēmis sākotnējās vērtības?
sobes.tech AI
Atbilde no AI
Go valodā nav iespējams pievienot elementus map, ja tas nav iepriekš inicializēts. Deklarējot mainīgo map bez inicializācijas, tas ir nil, un mēģinājums rakstīt šādā map izraisīs izpildes laikā paniku.
Lai pievienotu elementus, vispirms ir jāizveido map ar funkciju make vai jāinicializē ar literālo vērtību:
var m map[string]int // m == nil
m["key"] = 1 // panika: piešķiršana `nil` mapē
m = make(map[string]int) // tagad m ir inicializēts
m["key"] = 1 // darbojas
// vai tieši inicializēt
m2 := map[string]int{"initial": 10}
m2["key"] = 1 // darbojas
Tādēļ, pirms pievienot elementus, map ir jāizveido un tas nedrīkst būt nil.