Junior — Middle
როდის იძახება defer ოპერატორი Go კოდის შესრულების პროცესში?
sobes.tech AI
პასუხი AI-სგან
Go ენის defer ბრძანება გადადებს მითითებული ფუნქციის შესრულებას იმ მომენტამდე, როდესაც ის შემკვრელი ფუნქცია დასრულდება. სხვა სიტყვებით რომ ვთქვათ, defer-ზე გადაცემული ფუნქციის გამოძახება ხდება სწორედ მაშინ, როდესაც მიმდინარე ფუნქცია დაბრუნდება. ეს სასარგებლოა რესურსების განთავისუფლების, ფაილების დახურვის, mutex-ების გასაღების და სხვა ოპერაციებისათვის.
მაგალითი:
func მაგალითი() {
defer fmt.Println("გადადებული გამოძახება")
fmt.Println("ძირითადი კოდი")
}
// შედეგი იქნება:
// ძირითადი კოდი
// გადადებული გამოძახება