Sobes.tech
Junior — Middle

Kako se pristupa vrednostima u rečniku koji još nije prethodno kreiran?

sobes.tech АИ

Одговор од АИ

U jeziku Go, ako mapa (map) još nije kreirana (tj. je nil), pokušaj pristupa elementima putem ključa neće izazvati paniku, već će jednostavno vratiti nultu vrednost tipa elemenata.

Na primer:

var m map[string]int // m == nil
fmt.Println(m["key"]) // Ispisaće 0, neće izazvati grešku

Međutim, pokušaj dodeljivanja vrednosti nil mapi će izazvati paniku:

m["key"] = 10 // panic: dodela u element u nil mapi

Zato pre pisanja u mapu treba biti siguran da je inicijalizovana, na primer:

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

Na ovaj način, za čitanje se može pristupiti nil mapi bez greške, ali za pisanje je potrebno prethodno kreirati mapu.