Junior — Middle
Εξηγήστε την έννοια του closure και πώς χρησιμοποιείται στον προγραμματισμό
sobes.tech AI
Απάντηση από AI
Το κλείσιμο (closure) είναι μια λειτουργία που «θυμάται» το περιβάλλον στο οποίο δημιουργήθηκε, συμπεριλαμβανομένης της πρόσβασης σε μεταβλητές από το εξωτερικό πεδίο, ακόμα και αν αυτό το πεδίο έχει ήδη εξέλθει από το πλαίσιο εκτέλεσης.
Στον προγραμματισμό, το κλείσιμο χρησιμοποιείται για:
- Διατήρηση της κατάστασης μεταξύ των κλήσεων της λειτουργίας χωρίς τη χρήση παγκόσμιων μεταβλητών.
- Εγκλεισμός δεδομένων και δημιουργία ιδιωτικών μεταβλητών.
- Δημιουργία λειτουργιών με προεπιλεγμένες παραμέτρους που διατηρούν τις τιμές τους.
Παράδειγμα σε Swift (iOS):
func makeIncrementer(amount: Int) -> () -> Int {
var total = 0
let incrementer: () -> Int = {
total += amount
return total
}
return incrementer
}
let incrementByTen = makeIncrementer(amount: 10)
print(incrementByTen()) // 10
print(incrementByTen()) // 20
Εδώ, το incrementer είναι ένα κλείσιμο που αιχμαλωτίζει και διατηρεί τη μεταβλητή total από τη εξωτερική λειτουργία, επιτρέποντας τη διατήρηση της κατάστασης μεταξύ των κλήσεων.