Senior
O que significa a palavra-chave defer em Go?
sobes.tech IA
Resposta da IA
Em Go, a palavra-chave defer é usada para executar funções de forma diferida: uma chamada marcada com defer será executada após a conclusão da função envolvente, mas antes do seu retorno.
Isto é útil para libertar recursos, fechar ficheiros, desbloquear mutexes e outras operações de limpeza, garantindo que sejam realizadas mesmo em caso de erros ou panicos.
Exemplo:
func readFile(filename string) error {
file, err := os.Open(filename)
if err != nil {
return err
}
defer file.Close() // o ficheiro será fechado ao sair da função
// trabalhar com o ficheiro
return nil
}
Assim, defer ajuda a escrever código mais limpo e seguro, gerindo o ciclo de vida dos recursos.