"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या पैनिक रिकवरी गो में फ़ंक्शन शाब्दिक में स्थानीय चर को संशोधित कर सकती है?

क्या पैनिक रिकवरी गो में फ़ंक्शन शाब्दिक में स्थानीय चर को संशोधित कर सकती है?

2025-03-22 पर पोस्ट किया गया
ब्राउज़ करें:343

] हालाँकि, यह व्यवहार फ़ंक्शन शाब्दिक में स्थानीय चर का उपयोग करते समय सुसंगत नहीं है। टेंक फंक () { यदि e: = पुनर्प्राप्त (); e! = nil { परिणाम = -1 Err = Errors.New (ई। (स्ट्रिंग)) } } () छड़() परिणाम = 100 गलत = nil वापस करना } फंक बार () { घबराहट ("घबराहट हुई") }

Can Panic Recovery Modify Local Variables in Function Literals in Go? 
यह कोड अपेक्षित रूप से काम करता है, एक घबराहट से उबरने के बाद एक कस्टम त्रुटि संदेश के लिए परिणाम निर्धारित करता है। हालाँकि, यदि हम फ़ंक्शन शाब्दिक के भीतर स्थानीय चर का उपयोग करते हैं, तो व्यवहार बदलता है:

फंक फू () (int, त्रुटि) { var परिणाम int var इर त्रुटि टेंक फंक () { यदि e: = पुनर्प्राप्त (); e! = nil { परिणाम = -1 Err = Errors.New (ई। (स्ट्रिंग)) } } () छड़() परिणाम = 100 गलत = nil वापसी परिणाम, गलत } फंक बार () { घबराहट ("घबराहट हुई") }

इस मामले में, परिणाम -1 के बजाय 0 पर रीसेट है। इसका कारण यह है कि फ़ंक्शन शाब्दिक में DEFF स्टेटमेंट नामित रिटर्न मानों को एक्सेस या संशोधित नहीं कर सकता है क्योंकि वे अब गुंजाइश में नहीं हैं। एक फ़ंक्शन शाब्दिक के भीतर एक defer स्टेटमेंट का उपयोग करके उन्हें संशोधित करने की कोशिश करते समय नामित रिटर्न मान का उपयोग करें। ऐसे मामलों में स्थानीय चर को एक्सेस या संशोधित नहीं किया जा सकता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3