यह निर्धारित करना कि क्या एक इंटरफ़ेस में एक स्लाइस है
गो में, यह जांचना अक्सर आवश्यक होता है कि क्या एक इंटरफ़ेस {} मान में एक स्लाइस होता है या नहीं। यह प्रकार के दावे करने और स्लाइस के भीतर तत्वों तक पहुंचने के लिए आवश्यक है।
इसे पूरा करने के लिए, कोई एक फ़ंक्शन को परिभाषित कर सकता है जो इंटरफ़ेस {} पैरामीटर को स्वीकार करता है और प्रतिबिंब का उपयोग करके इसके प्रकार की जांच करता है। निम्नलिखित स्निपेट एक कार्यान्वयन प्रदान करता है:
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