Sobes.tech
Junior — Middle

შესაძლებელია ერთ ფუნქციაში რამდენიმე defer ოპერატორის გამოყენება?

sobes.tech AI

პასუხი AI-სგან

დიახ, Go ენის ფარგლებში ერთ ფუნქციაში შესაძლებელია რამდენიმე defer ოპერატორის გამოყენება. ყველა გადადებული გამოძახება შესრულდება обратном წესში (LIFO) ფუნქციის დასრულების შემდეგ. ეს სასარგებლოა რესურსების გათავისუფლების, ფაილების დახურვის, mutex-ების გასაღების და სხვა ოპერაციებისათვის.

მაგალითი:

func მაგალითი() {
    defer fmt.Println("პირველი defer")
    defer fmt.Println("მეორე defer")
    fmt.Println("ფუნქციის სხეულში")
}

// შედეგი იქნება:
// ფუნქციის სხეულში
// მეორე defer
// პირველი defer