Junior — Middle
Pode explicar o princípio de funcionamento e a aplicação da construção defer na linguagem Go?
sobes.tech IA
Resposta da IA
No Go, a palavra-chave defer é usada para chamar uma função de forma diferida: ela será executada no momento de saída da função atual, independentemente de como a saída ocorre (normalmente ou por erro). Isso é útil para liberar recursos, fechar arquivos, desbloquear mutexes e outras operações de limpeza.
Exemplo:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // o arquivo será fechado ao sair da função
// trabalho com o arquivo
return nil
}
Assim, defer ajuda a escrever um código mais limpo e seguro, garantindo a execução de ações importantes de finalização.