Sobes.tech
Junior — Middle

Hogyan lehet hozzáférni egy szótár értékeihez, amelyet még nem hoztak létre előre?

sobes.tech MI

Válasz az MI-től

Go nyelven, ha egy térkép (map) még nem lett létrehozva (azaz nil), akkor a kulcs szerinti hozzáférés nem fog pánikot okozni, hanem egyszerűen visszaadja a kulcs típusának nullértékét.

Például:

var m map[string]int // m == nil
fmt.Println(m["key"]) // 0-t fog kiírni, nem okoz hibát

Azonban, ha értéket próbálunk rendelni egy nil maphez, az pánikot fog okozni:

m["key"] = 10 // pánik: érték rendelése nil maphez

Ezért, mielőtt írni próbálnánk a mapbe, győződjünk meg arról, hogy inicializálva van, például:

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

Így olvasáskor hozzáférhetünk egy nil maphez hibák nélkül, de íráskor előzetesen létre kell hozni a mapet.