Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε τι σημαίνει η λέξη-κλειδί Defer και πώς χρησιμοποιείται στον προγραμματισμό;

sobes.tech AI

Απάντηση από AI

Η λέξη-κλειδί defer στον προγραμματισμό (π.χ., σε Swift ή Go) χρησιμοποιείται για την αναβολή της εκτέλεσης κώδικα μέχρι να εξέλθει το τρέχον πεδίο ορατότητας.

Στο iOS (Swift), το defer επιτρέπει να διασφαλιστεί η εκτέλεση ενός μπλοκ κώδικα στο τέλος της λειτουργίας, ανεξάρτητα από το πώς τερματίζει η λειτουργία — με επιτυχία ή με σφάλμα. Αυτό είναι χρήσιμο για την απελευθέρωση πόρων, το κλείσιμο αρχείων, την απελευθέρωση κλειδώσεων κ.λπ.

Παράδειγμα σε Swift:

func readFile() {
    let file = openFile()
    defer {
        closeFile(file) // αυτός ο κώδικας θα εκτελεστεί στο τέλος της λειτουργίας
    }
    // εργασία με το αρχείο
    if errorOccurred {
        return // το `defer` θα εκτελεστεί και πάλι
    }
    // άλλες λειτουργίες
}

Έτσι, το defer βοηθά στη συγγραφή πιο καθαρού και ασφαλούς κώδικα, διαχειρίζοντας πόρους.