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