Junior — Middle
È possibile avere più operatori defer all'interno di una singola funzione?
sobes.tech AI
Risposta dell'AI
Sì, in Go è possibile utilizzare più operatori defer all'interno di una stessa funzione. Tutti i chiamanti differiti verranno eseguiti in ordine inverso (LIFO) dopo che la funzione avrà terminato l'esecuzione. Questo è utile per liberare risorse, chiudere file, sbloccare mutex, ecc.
Esempio:
func esempio() {
defer fmt.Println("Primo defer")
defer fmt.Println("Secondo defer")
fmt.Println("Nel corpo della funzione")
}
// L'output sarà:
// Nel corpo della funzione
// Secondo defer
// Primo defer