Junior — Middle
Σε ποιες περιπτώσεις χρησιμοποιείται ο τελεστής defer στη γλώσσα προγραμματισμού;
sobes.tech AI
Απάντηση από AI
Ο τελεστής defer στη γλώσσα Swift χρησιμοποιείται για την καθυστερημένη εκτέλεση κώδικα: διασφαλίζει ότι ένα συγκεκριμένο μπλοκ κώδικα θα εκτελεστεί στο τέλος του τρέχοντος πεδίου ορατότητας, συνήθως κατά την έξοδο από μια λειτουργία ή μπλοκ.
Αυτό είναι χρήσιμο για την απελευθέρωση πόρων, το κλείσιμο αρχείων, την απελευθέρωση κλειδώσεων ή άλλες λειτουργίες καθαρισμού που πρέπει να συμβούν ανεξάρτητα από το πώς ολοκληρώνεται η λειτουργία (κανονικά ή με σφάλμα).
Παράδειγμα:
func readFile() {
let file = openFile()
defer {
closeFile(file) // εγγυημένα θα εκτελεστεί κατά την έξοδο από τη λειτουργία
}
// εργασία με το αρχείο
}