Sobes.tech
Junior — Middle

Kā piekļūt vērtībām vārdnīcā, kas vēl nav iepriekš izveidots?

sobes.tech AI

Atbilde no AI

Go valodā, ja karte (map) vēl nav izveidota (t.i., ir nil), mēģinājums piekļūt elementiem pēc atslēgas nesagādās paniku, bet vienkārši atgriezīs elementa tipa nulles vērtību.

Piemēram:

var m map[string]int // m == nil
fmt.Println(m["key"]) // Izvadīs 0, nesagādās kļūdu

Tomēr, mēģinājums piešķirt vērtību nil kartei izraisīs paniku:

m["key"] = 10 // panika: piešķiršana nil kartei

Tādēļ pirms rakstīšanas kartei ir jābūt inicializētai, piemēram:

m = make(map[string]int)
m["key"] = 10

Tādējādi, lasot, var piekļūt nil kartei bez kļūdām, bet rakstot, ir nepieciešams iepriekš izveidot karte.