गोलंग में, संरचनाएं डेटा के लिए सरल कंटेनर हैं।
निम्नलिखित रूबी और गोलैंग में एक सरल बुक क्लास समकक्ष दिखाता है।
class Book attr_reader(:title, :author) def initalize(title, author) @title = title @author = authoer end end # usage book = Book.new('Title', 'Jon Snow')
// Equivalent to `class Book` in ruby type Book struct { Title string, Author string }
कंपोजिट लिटरल एक चरण में आरंभिक कंपोजिट प्रकार बनाने के लिए सिंटैक्स है। हम निम्नलिखित प्रकारों को त्वरित कर सकते हैं:
यहां हम वेरिएबल बुक को एक नया बुक इंस्टेंस असाइन कर रहे हैं
// Composite Literal book := Book{ Title: "Title", Author: "Author" }
लंबा फॉर्म नए कीवर्ड का उपयोग करना है। यह उसी तरह होगा जैसे हम रूबी में Book = Book.new(..)
के साथ एक क्लास शुरू करते हैं।हम = चिह्न का उपयोग करके पुस्तक की विशेषताओं (अर्थात् शीर्षक और लेखक) को निर्दिष्ट करेंगे।
// Using the `new` keyword book := new(Book) book.Title = "Book Title" book.Author = "John Snow"
ध्यान दें कि हमने पहले उदाहरण में := प्रतीक का उपयोग किया था?
यह एक चर घोषित करने और उसे एक मान निर्दिष्ट करने के निम्नलिखित क्रियात्मक तरीके के लिए वाक्यात्मक चीनी है।
// Without Short Virable Declaration // Example 1 var book Book // Declare variable `book` of type `Book` book.Title = "Book Title" // Assign the value to book variable book.Author = "John Snow" // Example 2 var count int count = 20
जब हमें आवश्यकता हो तो संरचना को आरंभ करते समय इसे आसान बनाने के लिए हम फ़ैक्टरी पैटर्न का भी उपयोग कर सकते हैं:
यह मानते हुए कि हम पुस्तक के शीर्षक के प्रत्येक प्रथम अक्षर और लेखक टोकन को बड़े अक्षरों में लिखना चाहेंगे।
// Factory Function func NewBook(title string, author string) Book { return Book{ Title: titlelise(title), // default logic to "titlelise" Author: titlelist(author) } } func titlelise(str string) { caser := cases.Title(lanaguage.English) return caser.String(str) }
रूबी में, हम बस क्लास के भीतर एक फ़ंक्शन को परिभाषित करेंगे। यहां, हम पुस्तक शीर्षक नाम लेखक को मुद्रित करने के लिए to_string() नामक एक फ़ंक्शन को परिभाषित कर रहे हैं।
class Book attr_reader(:title, :author) def initalize(title, author) @title = title @author = authoer end # new function we added def to_string() put "#{title} by #{string}" end end
GoLang में, हम फ़ंक्शन को स्टक्ट में पास करके फ़ंक्शन को "संलग्न" करेंगे।
// Equivalent to `class Book` in ruby type Book struct { Title string, Author string } // Attaching the function to the `struct` func (book Book) ToString() string { return fmt.Sprintf("%s by %s", book.Title, book.Author) } // Usage book := Book{ Title: "Title", Author: "Author" } book.ToString() // => Title by Author
का स्पष्टीकरण:
func (book Book) ToString() string
टोकन | विवरण |
---|---|
func | फ़ंक्शन कीवर्ड |
(पुस्तक पुस्तक) | फ़ंक्शन को बुक स्ट्रक्चर प्रकार से जोड़ना - बुक: फ़ंक्शन के भीतर संरचना तक पहुंचने के लिए वेरिएबल - बुक: संरचना का प्रकार |
स्ट्रिंग() | फ़ंक्शन का नाम |
डोरी | फ़ंक्शन का रिटर्न प्रकार |
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3