Sobes.tech
Junior — Middle

Ինչպե՞ս է փոխվում հեշ-թաբլետի վիճակը, երբ այն փոխանցվում է որպես պարամետր ֆունկցիային։

sobes.tech AI

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

Go լեզվում հեշ աղյուսակները իրականացվում են map տիպի միջոցով, որը փոխանցվում է ֆունկցիաներին հղումով։ Սա նշանակում է, որ երբ փոխանցում եք map-ը ֆունկցիային, ոչ թե պատճենվում է աղյուսակը, այլ՝ հղում դեպի դրա ներքին տվյալների կառուցվածքը։

Նման կերպ, ցանկացած փոփոխություն, որը կատարվում է map-ի վրա ֆունկցիայի ներսում (ավելացում, հեռացում կամ փոփոխություն), կլինի տեսանելի նաև դուրս, քանի որ նույն օբյեկտն է փոխվում։

Օրինակ՝

func addEntry(m map[string]int, key string, value int) {
    m[key] = value
}

func main() {
    myMap := make(map[string]int)
    addEntry(myMap, "key1", 100)
    fmt.Println(myMap) // Կցուցադրվի՝ map[key1:100]
}

Այսպիսով, հեշ աղյուսակի վիճակը ուղղակիորեն փոխվում է նրա փոխանցման ժամանակ։