] एम्बेडेड संरचनाओं का उपयोग किए बिना एक प्रकार के तरीकों को विरासत में देने का एक वैकल्पिक तरीका। हालाँकि, इसे GO के प्रकार प्रणाली की गहरी समझ की आवश्यकता है। मानो वे युक्त संरचना का हिस्सा थे। यह एक शक्तिशाली विशेषता है जिसका उपयोग प्रकारों के बीच विरासत बनाने के लिए किया जा सकता है। स्वचालित रूप से युक्त संरचना में प्रचारित किया जाता है। तरीकों को बढ़ावा देने के लिए, एम्बेडेड संरचना गुमनाम होना चाहिए। वे युक्त संरचना के तरीके थे। यह इन नियमों का पालन करके प्राप्त किया जाता है:
इस उदाहरण में, नोड संरचना प्रकार के प्रॉप्स की एक अनाम संरचना को एम्बेड करती है। यह प्रॉप्स से getString विधि को नोड पर प्रचारित करने की अनुमति देता है। रिसीवर फ़ंक्शन के लिए एक पॉइंटर पास करके, आप इसे एम्बेड किए बिना अंतर्निहित संरचना के फ़ील्ड और तरीकों तक पहुंच सकते हैं। एक पॉइंटर रिसीवर का उपयोग करना:
टाइप प्रॉप्स मैप [स्ट्रिंग] इंटरफ़ेस {} func (p *props) getString (कुंजी स्ट्रिंग) स्ट्रिंग { पी [कुंजी]। (स्ट्रिंग) } टाइप नोड संरचना { रंगमंच की सामग्री } func मुख्य () { नोड: = और नोड {प्रॉप्स {"परीक्षण": "फू"}}} fmt.println (node.getString ("परीक्षण")) // आउटपुट: फू }
इस उदाहरण में, हम GetString विधि के लिए एक पॉइंटर रिसीवर का उपयोग करते हैं। यह हमें अंतर्निहित प्रॉप्स स्ट्रक्चर के फ़ील्ड और तरीकों तक पहुंचने की अनुमति देता है, बिना इसे एम्बेड करने के। हमेशा सबसे अच्छा विकल्प नहीं होता है। ऐसे मामलों में जहां विधि पदोन्नति वांछित या आवश्यक नहीं है, एक पॉइंटर रिसीवर का उपयोग करना अधिक लचीला और प्रदर्शनकारी विकल्प प्रदान कर सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3