`defer` de Go y `Drop` de Rust
(dev.to)- Para liberar recursos automáticamente, en Go se puede usar
defer
→ Sin embargo, cuando se asignan recursos dentro de un bucle, aunque no es que no haya forma de hacerlo, se vuelve más complejo
→ Siempre hay margen para cometer errores
- En Rust, se puede implementar el trait
Droppara un recurso y liberarlo automáticamente
→ Incluso en casos como los bucles, no existen los mismos problemas que con defer, y no es necesario llamar a la liberación de recursos mediante defer
1 comentarios
Parece que también hay una propuesta sobre
try-resourceen Go, pero no da la impresión de que le estén prestando mucha atención:https://github.com/golang/go/issues/29120
Viendo este tipo de cosas, da la impresión de que no querer ocultar la liberación de recursos bajo otro módulo también forma parte de la filosofía de Go.
https://stackoverflow.com/questions/59044658/…