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

गोलांग में साझा फ़ील्ड वाले कार्यों के लिए कोड दोहराव से कैसे बचें?

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

How to Avoid Code Repetition for Functions with Shared Fields in Golang?

गोलांग में साझा फ़ील्ड वाले कार्यों के लिए कोड दोहराव से बचना

समान फ़ील्ड वाले कई संरचनाओं के लिए फ़ंक्शन लिखते समय कोड दोहराव को रोकने के लिए, इस पर विचार करें निम्नलिखित दृष्टिकोण:

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

type Version string

func (v Version) PrintVersion() {
    fmt.Println("Version is", v)
}

अपनी संरचनाओं में, रचना का उपयोग करके फ़ील्ड के रूप में कस्टम प्रकार शामिल करें:

type Game struct {
    Name               string
    MultiplayerSupport bool
    Genre              string
    Version
}

type ERP struct {
    Name               string
    MRPSupport         bool
    SupportedDatabases []string
    Version
}

अब, आप कस्टम प्रकार से जुड़ी विधि का उपयोग करके दोनों संरचनाओं से संस्करण फ़ील्ड तक पहुंच और प्रिंट कर सकते हैं:

func main() {

    g := Game{
        "Fear Effect",
        false,
        "Action-Adventure",
        "1.0.0",
    }

    g.PrintVersion()
    // Version is 1.0.0


    e := ERP{
        "Logo",
        true,
        []string{"ms-sql"},
        "2.0.0",
    }

    e.PrintVersion()
    // Version is 2.0.0

}

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

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

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

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

Copyright© 2022 湘ICP备2022001581号-3