Sobes.tech
Senior

Em que ordem são executados vários defer numa mesma função?

sobes.tech IA

Resposta da IA

Em Go, várias chamadas a defer numa mesma função são executadas na ordem LIFO (Last In, First Out) — ou seja, a última chamada diferida será executada primeiro ao sair da função.

Exemplo:

func exemplo() {
    defer fmt.Println("Primeiro")
    defer fmt.Println("Segundo")
    defer fmt.Println("Terceiro")
}
// Ao sair de exemplo() será exibido:
// Terceiro
// Segundo
// Primeiro