Defer di Go dan Drop di Rust
(dev.to)- Untuk melepaskan resource secara otomatis, di Go kita bisa menggunakan Defer
→ Namun, jika resource dialokasikan di dalam loop dan kasus serupa, meskipun bukan berarti tidak ada cara, hal itu menjadi rumit
→ Selalu ada ruang untuk melakukan kesalahan
- Di Rust, kita bisa mengimplementasikan trait Drop pada resource untuk melepaskannya secara otomatis
→ Bahkan dalam kasus seperti loop, tidak ada masalah yang sama seperti pada Defer dan tidak perlu memanggil pelepasan resource melalui Defer
1 komentar
Di Go juga ada usulan untuk try-resource, tetapi tampaknya tidak terlalu diperhatikan:
https://github.com/golang/go/issues/29120
Kalau melihat hal seperti ini, rasanya upaya untuk tidak menyembunyikan pelepasan resource di bawah modul lain juga merupakan bagian dari filosofi Go.
https://stackoverflow.com/questions/59044658/…