Sobes.tech
Junior — Middle

Em que momento do processo de execução do código Go o operador defer é chamado?

sobes.tech IA

Resposta da IA

A instrução defer em Go adia a execução da função especificada até ao momento de saída da função que a contém. Ou seja, a chamada da função passada para defer ocorre logo antes do retorno da função atual. Isto é útil para libertar recursos, fechar ficheiros, desbloquear mutexes, etc.

Exemplo:

func exemplo() {
    defer fmt.Println("Chamada adiada")
    fmt.Println("Código principal")
}
// A saída será:
// Código principal
// Chamada adiada