Sobes.tech
Junior — Middle

Ինչպե՞ս հասանելիություն ունենալ բառարանի արժեքներին, որը դեռ նախապես ստեղծված չէ։

sobes.tech AI

Պատասխան AI-ից

Go լեզվում, եթե քարտեզը (map) դեռ չի ստեղծվել (այդպես՝ nil), ապա բանալիով մուտք գործելը չի առաջացնի panic, այլ պարզապես կվերադարձնի տարրի զրոյական արժեքը:

Օրինակ՝

var m map[string]int // m == nil
fmt.Println(m["key"]) // Տպում է 0, չի առաջացնում սխալ

Սակայն, nil քարտեզին արժեք նշանակելու փորձը կհանգեցնի panic-ի:

m["key"] = 10 // panic: նշանակում nil քարտեզի մեջ

Հետևաբար, նախքան գրելը, պետք է համոզվել, որ այն ինիցիալիզացված է, օրինակ՝

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

Այսպիսով, ընթերցման ժամանակ կարելի է մուտք գործել nil քարտեզ, առանց սխալի, բայց գրելու համար անհրաժեշտ է նախապես ստեղծել քարտեզը։