Sobes.tech
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.