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

गो रिफ्लेक्शन में रिफ्लेक्ट.टाइप और रिफ्लेक्ट.वैल्यू के बीच मुख्य अंतर क्या है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:618

What is the key distinction between reflect.Type and reflect.Value in Go reflection?

गो में प्रतिबिंब प्रकार और मान

गो में प्रतिबिंब डेवलपर्स को रनटाइम पर प्रकारों और मूल्यों का निरीक्षण और हेरफेर करने की अनुमति देते हैं। प्रतिबिंब के प्रभावी उपयोग के लिए उनके भेदों को समझना महत्वपूर्ण है। , जबकि रिफ्लेक्ट.ValueOf(i) एक रिफ्लेक्ट.वैल्यू लौटाता है object.

reflect.Type

प्रकार के बारे में जानकारी प्रदान करता है, जैसे उसका नाम, पैकेज और अंतर्निहित प्रकार।

अनुमति देता है इसके तरीकों, फ़ील्ड और अन्य प्रकार से संबंधित डेटा के बारे में प्रश्न।

इसमें पास किए गए वेरिएबल का वास्तविक मान शामिल नहीं है यह।
  • reflect.Value
इसे पारित किए गए वेरिएबल के वास्तविक मूल्य का प्रतिनिधित्व करता है।

पढ़ने और सेटिंग की अनुमति देता है मान, अंतर्निहित डेटा में हेरफेर करना, और इसकी विधियों और फ़ील्ड्स को क्वेरी करना।

इसमें एक प्रकार() विधि शामिल है जो इसकी वापसी करती है प्रतिबिंबित.प्रकार.
  • उदाहरण
  • कोड स्निपेट में:

func show(i इंटरफ़ेस{}) { स्विच टी := i.(प्रकार) { मामला *व्यक्ति: t := reform.TypeOf(i) // *व्यक्ति का प्रकार प्राप्त करें v := reform.ValueOf(i) // i का मान प्राप्त करें टैग := t.Elem().फ़ील्ड(0).टैग नाम := v.Elem().फ़ील्ड(0).स्ट्रिंग() } }

टी एक प्रतिबिंबित है। टाइप ऑब्जेक्ट जो i द्वारा इंगित किए गए चर के प्रकार का प्रतिनिधित्व करता है।

func show(i interface{}) {
    switch t := i.(type) {
    case *Person:
        t := reflect.TypeOf(i)  // Get the type of *Person
        v := reflect.ValueOf(i)  // Get the value of i
        tag := t.Elem().Field(0).Tag
        name := v.Elem().Field(0).String() 
    }
}
टैग रिफ्लेक्ट.टाइप के माध्यम से प्राप्त व्यक्ति संरचना के पहले फ़ील्ड (नाम) का टैग है।
  • नाम स्ट्रिंग है रिफ्लेक्ट.वैल्यू के माध्यम से प्राप्त पहले क्षेत्र का प्रतिनिधित्व।
  • प्रतिबिंब में प्रकारों और मूल्यों के बीच अंतर को समझकर, डेवलपर्स आत्मनिरीक्षण, गतिशील विधि मंगलाचरण सहित विभिन्न परिदृश्यों में प्रतिबिंब की शक्ति का लाभ उठा सकते हैं। और डेटा क्रमांकन।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3