Sobes.tech
Senior

Ի՞նչ կարգով են կատարվում մի քանի defer-ներ մեկ ֆունկցիայում։

sobes.tech AI

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

Go-ում, մի ֆունկցիայում մի քանի defer կանչեր կատարվում են LIFO (Last In, First Out) կարգով — այսինքն, վերջին հետաձգված կանչը կատարվում է առաջինը ֆունկցիայից դուրս գալու ժամանակ:

Օրինակ:

func օրինակ() {
    defer fmt.Println("Առաջին")
    defer fmt.Println("Երկրորդ")
    defer fmt.Println("Երրորդ")
}
// Երբ դուրս ենք գալիս օրինակ()-ից, կտեսնենք՝
// Երրորդ
// Երկրորդ
// Առաջին