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

गो में स्लाइस प्रकार बनाम जेनेरिक स्लाइस तर्कों तक सीमित स्लाइस तर्कों का उपयोग कब करें?

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

When to Use Slice Arguments Constrained to Slice Types vs. Generic Slice Arguments in Go?

जेनेरिक स्लाइस तर्क: अंतर को समझना

गो में, जेनेरिक प्रोग्रामिंग प्रकार के मापदंडों का परिचय देती है जो कार्यों को विभिन्न प्रकारों पर संचालित करने की अनुमति देती है। रुचि का एक क्षेत्र स्लाइस प्रकारों तक सीमित स्लाइस तर्कों और सामान्य स्लाइस तर्कों के बीच अंतर है।

स्लाइस प्रकारों तक सीमित स्लाइस तर्क

स्लाइस पर विचार करें। ~[]ई द्वारा बाधित पहला तर्क। इसका मतलब है कि इस तर्क का प्रकार ई के तत्व प्रकार के साथ एक स्लाइस प्रकार होना चाहिए।

जेनेरिक स्लाइस तर्क

इसके विपरीत, स्लाइस पर विचार करें। इसमें फ़ंक्शन शामिल है पहले तर्क को केवल []ई के रूप में टाइप किया गया। यह ई के तत्व प्रकार के साथ किसी भी स्लाइस प्रकार के लिए अनुमति देता है। दोनों फ़ंक्शंस को एपेंड और रेंज जैसे स्लाइस ऑपरेशंस तक पहुंचने की अनुमति देते हैं। हालाँकि, जब किसी स्लाइस को वापस करने की बात आती है तो एक सूक्ष्म लेकिन महत्वपूर्ण अंतर होता है।

एक स्लाइस लौटाना

यदि फ़ंक्शन को उसी प्रकार का एक स्लाइस वापस करने की आवश्यकता होती है इनपुट स्लाइस, आपको स्लाइस प्रकार (~[]ई) तक सीमित स्लाइस तर्क का उपयोग करना चाहिए। यह सुनिश्चित करता है कि लौटाए गए स्लाइस में सही अंतर्निहित प्रकार है। ]ई.

func Grow[S ~[]E, E कोई भी](s S, n int) S { // ... } func Grow2[E कोई भी](s []E, n int) []E { // ... }

यदि हम एक कस्टम प्रकार का एक टुकड़ा पास करते हैं (उदाहरण के लिए, []MyInt), तो Grow() उसी प्रकार का मान लौटा सकता है। हालाँकि, Grow2() केवल एक सामान्य स्लाइस प्रकार ([]E) लौटा सकता है।

निष्कर्ष

संक्षेप में, यदि आपको उसी का एक स्लाइस वापस करने की आवश्यकता है इनपुट स्लाइस के रूप में टाइप करें, आपको स्लाइस प्रकार (~[]ई) तक सीमित स्लाइस तर्क का उपयोग करना चाहिए। अन्यथा, सामान्य स्लाइस तर्क का उपयोग करना पर्याप्त है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729666579 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3