Sobes.tech
Junior

Qual é o papel da construção defer na linguagem Go?

sobes.tech IA

Resposta da IA

Na linguagem Go, a construção defer é usada para executar funções de forma diferida: ela será chamada no momento de sair 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() error {
    file, err := os.Open("file.txt")
    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 garantir a execução de ações importantes de finalização, melhorando a gestão de recursos e o tratamento de erros.