Sobes.tech
Senior

Σε ποια σειρά εκτελούνται πολλαπλά defer σε μια λειτουργία;

sobes.tech AI

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

Στο Go, πολλές κλήσεις defer σε μια λειτουργία εκτελούνται με σειρά LIFO (Last In, First Out) — δηλαδή, η τελευταία καθυστερημένη κλήση θα εκτελεστεί πρώτη κατά την έξοδο από τη λειτουργία.

Παράδειγμα:

func παράδειγμα() {
    defer fmt.Println("Πρώτο")
    defer fmt.Println("Δεύτερο")
    defer fmt.Println("Τρίτο")
}
// Κατά την έξοδο από το παράδειγμα() θα εμφανιστεί:
// Τρίτο
// Δεύτερο
// Πρώτο