गो में इंटरफ़ेस प्रतिनिधित्व को समझना
गो में इंटरफेस के साथ काम करते समय, उनके अंतर्निहित प्रतिनिधित्व को समझना महत्वपूर्ण है। दो प्रमुख संसाधन इस विषय पर प्रकाश डालते हैं, लेकिन उनके दृष्टिकोण भिन्न हैं।
"प्रतिबिंब के नियम" लेख (http://blog.golang.org/laws-of-reflection) एक इंटरफ़ेस की अवधारणा का परिचय देता है जिसमें एक (मान, प्रकार) युग्म है, जैसा कि r io.Reader के उदाहरण में देखा गया है। इस जोड़ी में मान tty और उसका प्रकार *os.File शामिल है।
वैकल्पिक रूप से, अन्य लेख इस बात पर जोर देता है कि इंटरफ़ेस में इंटरफ़ेस के विनिर्देश को संतुष्ट करने के लिए केवल तरीके होते हैं। स्ट्रिंगर होल्डिंग प्रकार बाइनरी के उदाहरण में, इटेबल (इंटरफ़ेस विधि तालिका) केवल स्ट्रिंग कार्यान्वयन के लिए आवश्यक तरीकों को सूचीबद्ध करता है, बाइनरी प्रकार पर परिभाषित अन्य तरीकों को छोड़कर।
इन दृष्टिकोणों को समेटने के लिए, गो में इंटरफेस पर विचार करें रनटाइम पर "रैपर ऑब्जेक्ट्स" के रूप में। वे किसी अन्य ऑब्जेक्ट, इटेबल के बारे में जानकारी प्रदान करते हैं, जो लपेटे गए ऑब्जेक्ट पर विधियों को निष्पादित करने में रनटाइम का मार्गदर्शन करता है। उदाहरण के लिए, रीड ऑन आर को कॉल करते समय, रनटाइम ओएस फ़ाइल प्रकार लेआउट के भीतर संबंधित फ़ंक्शन पर जाने के लिए इटेबल का उपयोग करता है।
प्रतिबिंब, जैसा कि "प्रतिबिंब के नियम" लेख में वर्णित है, एक सुविधाजनक प्रदान करता है रिफ्लेक्ट.वैल्यूऑफ और रिफ्लेक्ट.टाइपऑफ तरीकों के माध्यम से (मूल्य, प्रकार) जोड़ी को उजागर करके इस प्रतिनिधित्व का पता लगाने का तरीका।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3