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

मैं गो में सूची समझ कार्यक्षमता कैसे प्राप्त कर सकता हूँ?

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

How Can I Achieve List Comprehension Functionality in Go?

पायथन की सूची समझ के लिए समतुल्य जाओ

पायथन की सूची समझ तत्वों को फ़िल्टर और परिवर्तित करके सूचियां उत्पन्न करने का एक संक्षिप्त तरीका प्रदान करती है। हालाँकि, यदि आप गो में संक्रमण कर रहे हैं और इस कार्यक्षमता को दोहराना चुनौतीपूर्ण लगता है, तो यहां एक समाधान है:

फ़िल्टर पैकेज का उपयोग करके सुरुचिपूर्ण समाधान

शुक्र है, गो समुदाय फ़िल्टर पैकेज प्रदान किया गया है, जो पायथन की सूची समझ के समान कार्यक्षमता प्रदान करता है। विशेष रूप से, इसका चयन फ़ंक्शन एक स्लाइस और फ़िल्टरिंग फ़ंक्शन लेता है, एक नया स्लाइस लौटाता है जिसमें केवल फ़िल्टर पास करने वाले तत्व होते हैं।

import "github.com/rogpeppe/go-internal/filter"

func Choose(slice []T, fn func(T) bool) []T

उदाहरण:

// Get even numbers from a list
a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
expect := []int{2, 4, 6, 8}
result := filter.Choose(a, isEven)

वैकल्पिक दृष्टिकोण: लूप्स के लिए

हालांकि फ़िल्टर पैकेज सुविधा प्रदान करता है, यह ध्यान रखना महत्वपूर्ण है कि पारंपरिक फॉर लूप्स का उपयोग करना अभी भी एक व्यवहार्य और कुशल विकल्प है। गो फॉर लूप्स लचीलेपन और अनुकूलन के अवसर प्रदान करते हैं।

for i := range a {
    if someCondition {
        result = append(result, a[i])
    }
}

निष्कर्ष

गो में मूल सूची समझ सिंटैक्स की कमी के बावजूद, फ़िल्टर पैकेज और लूप्स सूचियों को फ़िल्टर करने और बदलने के लिए मजबूत समाधान प्रदान करते हैं। जबकि फ़िल्टर पैकेज एक संक्षिप्त वाक्यविन्यास प्रदान करता है, लूप के लिए एक निष्पादक और कुशल विकल्प बना रहता है। अंततः, दृष्टिकोण का चुनाव आपके आवेदन की विशिष्ट आवश्यकताओं पर निर्भर करेगा।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3