Junior — Middle
Μπορεί να υπάρχουν πολλαπλοί χειριστές defer μέσα σε μια λειτουργία;
sobes.tech AI
Απάντηση από AI
Ναι, στη γλώσσα Go μπορείτε να χρησιμοποιήσετε πολλαπλούς χειριστές defer μέσα σε μια λειτουργία. Όλες οι καθυστερημένες κλήσεις θα εκτελεστούν με αντίστροφη σειρά (LIFO) μετά την ολοκλήρωση της λειτουργίας. Αυτό είναι χρήσιμο για την απελευθέρωση πόρων, το κλείσιμο αρχείων, το ξεκλείδωμα mutex κ.λπ.
Παράδειγμα:
func παράδειγμα() {
defer fmt.Println("Πρώτο defer")
defer fmt.Println("Δεύτερο defer")
fmt.Println("Στο σώμα της λειτουργίας")
}
// Η έξοδος θα είναι:
// Στο σώμα της λειτουργίας
// Δεύτερο defer
// Πρώτο defer