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