Sobes.tech
Junior — Middle

როდის იძახება defer ოპერატორი Go კოდის შესრულების პროცესში?

sobes.tech AI

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

Go ენის defer ბრძანება გადადებს მითითებული ფუნქციის შესრულებას იმ მომენტამდე, როდესაც ის შემკვრელი ფუნქცია დასრულდება. სხვა სიტყვებით რომ ვთქვათ, defer-ზე გადაცემული ფუნქციის გამოძახება ხდება სწორედ მაშინ, როდესაც მიმდინარე ფუნქცია დაბრუნდება. ეს სასარგებლოა რესურსების განთავისუფლების, ფაილების დახურვის, mutex-ების გასაღების და სხვა ოპერაციებისათვის.

მაგალითი:

func მაგალითი() {
    defer fmt.Println("გადადებული გამოძახება")
    fmt.Println("ძირითადი კოდი")
}
// შედეგი იქნება:
// ძირითადი კოდი
// გადადებული გამოძახება