Sobes.tech
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.