Defer do Go e Drop do Rust
(dev.to)- 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
Droppara 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
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/…