गो रनटाइम: मुख्य फ़ंक्शन में अनंत लूप का रहस्य
गो के रनटाइम के केंद्र में src/runtime/proc.go है, जहां एक पेचीदा विशेषता रहती है: मुख्य फ़ंक्शन के अंतिम छोर पर लूप के लिए एक अनंत। किसी को आश्चर्य हो सकता है कि ऐसा प्रतीत होने वाला निरर्थक निर्माण रनटाइम में क्यों मौजूद है।
उद्देश्य: घातक त्रुटियों का पता लगाना
कोड में गहराई से जाने पर, यह स्पष्ट हो जाता है कि लूप त्रुटि प्रबंधन में महत्वपूर्ण उद्देश्य। जब घबराहट को एक घातक त्रुटि के साथ बुलाया जाता है, तो यह संचालन की एक श्रृंखला को निष्पादित करता है, जो बाहर निकलने के लिए कॉल में समाप्त होता है (0)। हालाँकि, कुछ परिस्थितियों में, निकास विफल हो सकता है, जिससे प्रोग्राम अधर में रह जाता है। पाश के लिए। संरक्षित मेमोरी क्षेत्र (*x = 0) को 0 निर्दिष्ट करके, यह एक विभाजन दोष को भड़काता है। इससे प्रोग्राम शानदार तरीके से क्रैश हो जाता है, जिससे अप्रत्याशित व्यवहार नहीं होता।
डिज़ाइन संबंधी विचार
अनंत लूप क्यों चुनें? तर्क कई कारकों में निहित है:
unreachability:
लूप का उद्देश्य अप्राप्य कोड के रूप में है, यह मानते हुए कि निकास ने प्रोग्राम को सफलतापूर्वक समाप्त कर दिया है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3