2 pontos por ehlegeth 2021-12-10 | 1 comentários | Compartilhar no WhatsApp
  • Para liberar recursos automaticamente, no Go é possível usar defer

→ Porém, quando recursos são alocados dentro de um loop, embora não seja impossível, isso acaba ficando mais complexo

→ Sempre há margem para erro

  • No Rust, é possível implementar o trait Drop para recursos e liberá-los automaticamente

→ Mesmo em casos como loops, não há os mesmos problemas do defer, e não é necessário chamar a liberação de recursos via defer

1 comentários

 
ehlegeth 2021-12-10

No Go também existe uma proposta para algo como try-resource, mas não parece que estejam dando muita atenção a isso:

https://github.com/golang/go/issues/29120

Quando vejo esse tipo de coisa, parece que faz parte da filosofia do Go não tentar esconder a liberação de recursos debaixo de outro módulo.

https://stackoverflow.com/questions/59044658/…