Junior — Middle
Pode explicar o mecanismo de evacuação de dados ou recursos nos sistemas?
sobes.tech IA
Resposta da IA
No contexto da programação em Go (Golang), a evacuação de dados ou recursos geralmente está relacionada com a libertação correta de recursos, como fechar ficheiros, ligações de rede ou libertar memória para evitar fugas.
Em Go, isso é frequentemente feito usando o mecanismo defer. A palavra-chave defer adia a execução de uma função até à saída da função atual, garantindo a libertação de recursos mesmo em caso de erros.
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
// trabalho com o ficheiro
// ...
return nil
}
Assim, a evacuação de recursos é o processo de libertação ou limpeza garantida de recursos para evitar bloqueios, fugas de memória e outros problemas.