भौतिक संरचना निर्माण के बिना रिफ्लेक्ट.टाइप तक पहुंच
गो में, समस्याओं के समाधान को गतिशील रूप से लोड करने के लिए भौतिक रूप से निर्माण किए बिना संरचनाओं के प्रकार तक पहुंच की आवश्यकता होती है . जबकि मौजूदा समाधान प्रकार पंजीकरण से पहले संरचना निर्माण और शून्यीकरण को अनिवार्य करते हैं, एक अधिक कुशल दृष्टिकोण मौजूद है। संचालन। शून्य सूचक बनाने से, स्थान आवंटन से बचा जाता है।
Elemविधि पॉइंटर्स, एरेज़, स्लाइस, चैनल और मैप्स से तत्व प्रकार को पुनः प्राप्त करती है। उदाहरण के लिए, प्रदान किए गए SolutionRegistry पर विचार करें जो सॉल्वरों की गतिशील लोडिंग की अनुमति देता है "प्रोजेक्ट यूलर" समस्याओं के लिए। एक संरचना प्रकार को पंजीकृत करने के लिए, वर्तमान कार्यान्वयन के लिए संरचना निर्माण और आरंभीकरण की आवश्यकता होती है।
DummySolution संरचना टाइप करें { डेटा [100 * 1024 * 1024 * 1024] uint8 }
इस प्रक्रिया को अनुकूलित करने के लिए,type DummySolution struct {
data [100 * 1024 * 1024 * 1024]uint8
}
reflect.TypeOf((*DummySolution)(nil)).Elem()इसका प्रकार प्राप्त करने के लिए:func Register(sol Solution) { समाधानRegistry.Set(reflect.TypeOf((*sol)(nil)).Elem()) }
यह तकनीक भविष्य में गतिशील लोडिंग के लिए अपने प्रकार को पंजीकृत करते समय भौतिक संरचना इंस्टेंटेशन की आवश्यकता को प्रभावी ढंग से समाप्त कर देती है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3