गोलंग में संरचनाएं क्या हैं

Golanga Mem Sanracana Em Kya Haim



गो भाषा में, एक संरचना एक ही नाम के तहत समूहीकृत चर (फ़ील्ड) का एक संग्रह है। यह एक समग्र डेटा प्रकार है जो हमें संबंधित जानकारी रखने के लिए कस्टम डेटा संरचनाएँ बनाने की अनुमति देता है। गो में संरचनाएं ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग जैसे सी और सी ++ में कक्षाओं की तरह हैं, लेकिन वे विरासत का समर्थन नहीं करते हैं। इसके बजाय, वे कोड के पुन: उपयोग को प्राप्त करने के लिए रचना पर भरोसा करते हैं। इस लेख में गोलंग में संरचनाओं को शामिल किया गया है और हम संरचना सदस्यों की घोषणा और उन तक कैसे पहुँच सकते हैं।

गोलंग में एक संरचना क्या है

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







यहाँ गोलंग में एक संरचना का एक उदाहरण है:



प्रकार व्यक्ति संरचना {
पूरा नाम स्ट्रिंग
साल पुराना इंट
स्थान का पता
}
प्रकार पता संरचना {
स्ट्रीटनाम स्ट्रिंग
शहर का नाम  स्ट्रिंग
देश का नाम स्ट्रिंग
}


यहां हमने एक व्यक्ति संरचना को परिभाषित किया है जिसमें तीन क्षेत्र हैं: पूरा नाम, वर्ष पुराना और स्थान। स्थान फ़ील्ड अपने आप में एक संरचना है जिसमें तीन फ़ील्ड हैं: स्ट्रीटनाम, सिटीनाम और कंट्रीनाम।



गोलंग में संरचना की घोषणा कैसे करें

हम गोलंग का उपयोग करके एक संरचना की घोषणा कर सकते हैं प्रकार कीवर्ड। संरचना का नाम के बाद परिभाषित किया गया है प्रकार कीवर्ड, और इसके क्षेत्र घुंघराले ब्रेसिज़ में संलग्न हैं { } . यहाँ गो में एक संरचना घोषित करने का सिंटैक्स है:





प्रकार स्ट्रक्चरनाम स्ट्रक्चर {
फील्डनाम 1 फील्ड टाइप 1
फील्डनाम2 फील्डटाइप2
...
}


नीचे एक उदाहरण दिया गया है कि कैसे व्यक्ति नाम की संरचना को दो फ़ील्ड नाम और आयु प्रकार स्ट्रिंग और इंट के साथ क्रमशः घोषित किया जाए:

प्रकार व्यक्ति संरचना {
नाम का तार
उम्र int
}


उपरोक्त कोड में, हमने इसका उपयोग किया है प्रकार नामित एक नई संरचना घोषित करने के लिए कीवर्ड व्यक्ति दो क्षेत्रों के साथ नाम प्रकार की स्ट्रिंग और आयु इंट प्रकार। खेतों को एक से अलग किया जाता है नई पंक्ति चरित्र लेकिन ए अल्पविराम (;) उन्हें अलग करने के लिए भी इस्तेमाल किया जा सकता है।



गोलंग में स्ट्रक्चर मेंबर को कैसे एक्सेस करें

गो भाषा में एक संरचना उदाहरण के क्षेत्र तक पहुँचने के लिए डॉट ('।') ऑपरेटर का प्रयोग किया जाता है। इस डॉट ऑपरेटर के बाद फ़ील्ड का नाम आता है। यहां एक व्यक्ति संरचना उदाहरण के नाम और आयु फ़ील्ड तक पहुंचने का उदाहरण दिया गया है:

// कोई नया बनाएं ` व्यक्ति ` नाम के साथ संरचना उदाहरण 'काश' और उम्र 24
कश := व्यक्ति { नाम: 'काश' , आयु: 24 }

// के क्षेत्रों तक पहुँचें ` कश ` संरचना उदाहरण
fmt.Println ( kash.name ) // आउटपुट: 'काश'
fmt.Println ( kash.age ) // आउटपुट: 24


उपरोक्त कोड में, हमने नाम के साथ kash नाम से एक नया व्यक्ति संरचना उदाहरण बनाया है कश और उम्र 24 . इसके बाद हम काश संरचना उदाहरण के नाम और आयु क्षेत्रों का उपयोग करते हैं ('।') ऑपरेटर और उन्हें कंसोल पर प्रिंट करें।

यह ध्यान रखना महत्वपूर्ण है कि स्ट्रक्चर इंस्टेंस के क्षेत्र डॉट नोटेशन का उपयोग करके एक्सेस किए जाते हैं न कि तीर अंकन (->) कुछ अन्य प्रोग्रामिंग भाषाओं में उपयोग किया जाता है। डॉट नोटेशन का उपयोग स्ट्रक्चर्स के क्षेत्रों के साथ-साथ अन्य प्रकार के गुणों और विधियों तक पहुँचने के लिए गो में लगातार किया जाता है।

गोलंग में स्ट्रक्चर सदस्य को घोषित करने और एक्सेस करने का उदाहरण कोड

गो में पर्सन स्ट्रक्चर को डिक्लेयर करने और उसके वैल्यू को स्क्रीन पर प्रिंट करने का पूरा उदाहरण नीचे दिया गया है:

मुख्य पैकेज
आयात 'एफएमटी'
प्रकार व्यक्ति संरचना {
नाम का तार
उम्र int
}
func main ( ) {
// कोई नया बनाएं ` व्यक्ति ` नाम के साथ संरचना उदाहरण 'काश' और उम्र 24
कश := व्यक्ति { नाम: 'काश' , आयु: 24 }
// प्रिंट करें ` नाम ` और ` आयु ` का ` कश ` कंसोल के लिए संरचना उदाहरण
fmt.Printf ( 'नाम: %s \एन ' , कश.नाम )
fmt.Printf ( 'आयु: %d \एन ' , कश.उम्र )
}


उपरोक्त लिखित कोड में, हमने सबसे पहले घोषित किया व्यक्ति संरचना। इस संरचना में दो फ़ील्ड हैं जो नाम और आयु हैं। उसके बाद, हमने नाम के साथ kash नाम का एक नया व्यक्ति संरचना उदाहरण बनाया कश और उम्र 24 .

नाम और आयु फ़ील्ड प्रदर्शित करने के लिए, हम इसका उपयोग करते हैं fmt.Printf के साथ कार्य करें %एस और %डी प्रारूप विनिर्देशक क्रमशः नाम और आयु फ़ील्ड मुद्रित करने के लिए।

चलने के बाद, कंसोल पर कोड निम्न आउटपुट दिखाई देता है:

फंक्शन आर्ग्युमेंट्स के रूप में स्ट्रक्चर कैसे पास करें

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

उदाहरण कोड

नीचे दिए गए उदाहरण से पता चलता है कि गो भाषा में किसी फ़ंक्शन के तर्क के रूप में एक व्यक्ति संरचना उदाहरण कैसे पारित किया जाए और इसके मूल्यों को स्क्रीन पर प्रिंट किया जाए:

मुख्य पैकेज
आयात 'एफएमटी'
// नाम की एक संरचना घोषित करें ` व्यक्ति ` दो क्षेत्रों के साथ: ` नाम ` और ` आयु `
प्रकार व्यक्ति संरचना {
नाम का तार
उम्र int
}
// ए घोषित करें समारोह नाम ` PrintPerson ` कि एक लेता है ` व्यक्ति ` struct जैसा एक विवाद
func printPerson ( पी व्यक्ति ) {
fmt.Printf ( 'नाम: %s \एन ' , पी.नाम )
fmt.Printf ( 'आयु: %d \एन ' , पृष्ठ )
}
func main ( ) {
// कोई नया बनाएं ` व्यक्ति ` नाम के साथ संरचना उदाहरण 'काश' और उम्र 24
कश := व्यक्ति { नाम: 'काश' , आयु: 24 }
// इधर दें ` कश ` संरचना उदाहरण के लिए ` PrintPerson ` समारोह
PrintPerson ( कश )
}


उपरोक्त कोड में, हमने पहले दो क्षेत्रों के साथ व्यक्ति संरचना की घोषणा की, नाम, और आयु . हम फिर नामित एक समारोह की घोषणा करते हैं PrintPerson जो एक व्यक्ति संरचना को तर्क के रूप में लेता है और fmt.Printf फ़ंक्शन का उपयोग करके स्क्रीन पर अपना नाम और आयु फ़ील्ड प्रिंट करता है।

मुख्य कार्य में, हमने नाम के साथ kash नाम का एक नया व्यक्ति संरचना उदाहरण बनाया कश और उम्र 24। फिर हम प्रिंटपर्सन फ़ंक्शन को कॉल करके और पास करके प्रिंटपर्सन फ़ंक्शन के लिए कश स्ट्रक्चर उदाहरण पास करते हैं कश तर्क के रूप में।

उपरोक्त कोड चलाने के बाद कंसोल पर निम्न आउटपुट देखा जा सकता है:

निष्कर्ष

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