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

यह कैसे निर्धारित करें कि किसी इंटरफ़ेस में गो में एक स्लाइस है?

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

How to Determine if an Interface Contains a Slice in Go?

यह निर्धारित करना कि क्या एक इंटरफ़ेस में एक स्लाइस है

गो में, यह जांचना अक्सर आवश्यक होता है कि क्या एक इंटरफ़ेस {} मान में एक स्लाइस होता है या नहीं। यह प्रकार के दावे करने और स्लाइस के भीतर तत्वों तक पहुंचने के लिए आवश्यक है।

इसे पूरा करने के लिए, कोई एक फ़ंक्शन को परिभाषित कर सकता है जो इंटरफ़ेस {} पैरामीटर को स्वीकार करता है और प्रतिबिंब का उपयोग करके इसके प्रकार की जांच करता है। निम्नलिखित स्निपेट एक कार्यान्वयन प्रदान करता है:

func IsSlice(v interface{}) bool {
    return reflect.TypeOf(v).Kind() == reflect.Slice
}

यह फ़ंक्शन इंटरफ़ेस के वास्तविक प्रकार को निर्धारित करने के लिए प्रतिबिंब का उपयोग करता है। यदि लौटाया गया प्रकार प्रतिबिंबित है। स्लाइस, यह इंगित करता है कि इंटरफ़ेस में एक स्लाइस मान है। :

func ProcessInterface(v इंटरफ़ेस{}) { यदि IsSlice(v) { // स्लाइस तत्वों पर पुनरावृति करें _, i के लिए := रेंज v { // यहां अपना तर्क निष्पादित करें } } अन्य { // अन्य प्रकारों को संभालें } }

IsSlice फ़ंक्शन को लागू करके, यह कोड इंटरफ़ेस के भीतर स्लाइस मान और अन्य प्रकारों के बीच अंतर कर सकता है।

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3