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

गो में एक स्लाइस से डुप्लिकेट आइटम को कुशलतापूर्वक कैसे हटाएं?

2024-12-22 को प्रकाशित
ब्राउज़ करें:736

How to Efficiently Remove Duplicate Items from a Slice in Go?

एक स्लाइस से डुप्लिकेट आइटम हटाना

आपकी स्थिति में, आप एक स्लाइस से डुप्लिकेट आइटम हटाते समय एक समस्या का सामना कर रहे हैं क्योंकि आप' स्लाइस के माध्यम से पुनरावृत्त करना और पुनरावृत्त करते समय तत्वों को हटाना। यदि स्लाइस के अंत में कोई डुप्लिकेट आइटम स्थित है तो इससे इंडेक्स त्रुटियां और घबराहट हो सकती है।

इस समस्या को हल करने के लिए, एक अधिक कुशल दृष्टिकोण स्लाइस की शुरुआत में अद्वितीय तत्वों को कॉपी करना और फिर ट्रिम करना है बाद में कोई भी अतिरिक्त तत्व। यहां बताया गया है कि आप यह कैसे कर सकते हैं:

i := 0
for _, v := range cfg.Bootstrap {
    if v.PeerID == peer.PeerID && v.Address == peer.Address {
        continue
    }
    cfg.Bootstrap[i] = v
    i  
}
cfg.Bootstrap = cfg.Bootstrap[:i]

इस कोड में:

  • हम एक वेरिएबल i को 0 से प्रारंभ करते हैं, जो नए, ट्रिम किए गए स्लाइस में इंडेक्स स्थिति का प्रतिनिधित्व करता है।
  • हम cfg.बूटस्ट्रैप के प्रत्येक तत्व पर पुनरावृति करते हैं।
  • यदि कोई तत्व दोनों से मेल खाता है उपयोगकर्ता द्वारा प्रदत्त PeerID और पता, हम इसे छोड़ देते हैं। &&&]लूप के बाद, हम नए स्लाइस को cfg.बूटस्ट्रैप पर असाइन करते हैं और इसे सही लंबाई तक छोटा करते हैं।
  • यह दृष्टिकोण यह सुनिश्चित करता है कि सभी डुप्लिकेट तत्व हटा दिए जाएं और स्लाइस पूरी प्रक्रिया के दौरान एक समान बना रहे। यह सूचकांक त्रुटियों और घबराहट से बचाता है जो पुनरावृत्ति के दौरान तत्वों को हटाते समय हो सकता है।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3