Go का Defer और Rust का Drop
(dev.to)- resources को अपने-आप release करने के लिए Go में Defer का इस्तेमाल किया जा सकता है
→ लेकिन, अगर loop के अंदर resources allocate होते हैं, तो इसका कोई तरीका न होने की बात नहीं है, पर यह जटिल हो जाता है
→ गलती की गुंजाइश हमेशा रहती है
- Rust में resources के लिए Drop trait implement करके resources को अपने-आप release किया जा सकता है
→ loop जैसी स्थितियों में भी Defer जैसी समस्या नहीं होती और Defer के जरिए resource release call करने की ज़रूरत नहीं पड़ती
1 टिप्पणियां
Go में भी try-resource के लिए एक प्रस्ताव है, लेकिन लगता नहीं कि इस पर खास ध्यान दिया जा रहा है:
https://github.com/golang/go/issues/29120
ऐसी चीज़ें देखकर लगता है कि resources की release को किसी दूसरे module के नीचे छिपाने से बचना भी शायद Go की philosophy का हिस्सा है.
https://stackoverflow.com/questions/59044658/…