गो प्रोग्रामिंग भाषा 2009 में पहली बार प्रकाशित होने के बाद से बहुत विकसित हुई है। जेनेरिक और कई अन्य महत्वपूर्ण अपडेट के लिए इसके समर्थन के कारण गो 1.18 एक बहुप्रतीक्षित रिलीज थी।

मार्च 2022 में गो रिलीज़ किया गया संस्करण 1.18। यहां सबसे महत्वपूर्ण परिवर्तनों के बारे में जानकारी दी गई है।

जेनरिक के लिए समर्थन

जेनेरिक प्रोग्रामिंग आपको ऐसे फ़ंक्शन लिखने देता है जो अधिक लचीले प्रकारों को स्वीकार और वापस कर सकते हैं।

जेनरिक के समर्थन से पहले, आपको पैरामीटर प्रकार और रिटर्न प्रकार स्पष्ट रूप से बताना होगा। जेनरिक का सबसे सरल रूप आपको बिना टाइप किए गए मापदंडों को निर्दिष्ट करने की अनुमति देता है:

समारोहकुछ भी प्रिंट करें[टी कोई](चीज़टी) {
एफएमटी.प्रिंट्लन(चीज़)
}

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

instagram viewer
आयात "golang.org/x/exp/constraints"

समारोहमैक्स[टी बाधाएं। आदेश दिया](इनपुट[]टी) (मैक्सटी) {
_, वी के लिए: = श्रेणी इनपुट {
अगर वी > अधिकतम {
अधिकतम = वी
}
}

वापसी मैक्स
}

ध्यान दें कि यह फ़ंक्शन सामान्य प्रकार का उपयोग करता है, प्रतिबंध। आदेश दिया, इसके पैरामीटर और इसके रिटर्न प्रकार को घोषित करने के लिए।

जेनरिक कोड में अनिश्चितता और लचीलापन प्रदान करते हैं। जेनेरिक प्रस्ताव और परिवर्तन पिछड़े संगत हैं।

फ़ज़ परीक्षण

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

परिक्षण पैकेज 1.18 में फ़ज़िंग का परिचय देता है, इसलिए फ़ज़ को परिभाषित करने के लिए, आपको इसे मानक पुस्तकालय से आयात करना होगा:

आयात "परिक्षण"

आयात करने के बाद परिक्षण पैकेज, आप प्रकार के पहचानकर्ता को पास कर सकते हैं *परिक्षण। एफ परीक्षण समारोह के लिए।

समारोहटेस्टफनक(च * परीक्षण। एफ) {
// तुम्हारा कोड
}

फ़ज़िंग परीक्षण कोड के लिए इनपुट पैरामीटर उत्पन्न करता है। फ़ज़िंग का परिणाम अप्रत्याशित है क्योंकि इनपुट उपयोगकर्ता-परिभाषित नहीं हैं। फ़ज़िंग से आपको बेहतर कोड परीक्षण लिखने और उन बगों को पकड़ने में मदद मिलेगी जिनके बारे में आप नहीं जानते थे।

कार्यक्षेत्र समर्थन जाओ

कार्यस्थान समान स्रोत कोड की निर्देशिकाएं हैं जो एक परियोजना या एक बड़ी इकाई बनाती हैं। कार्यस्थान कार्यक्षमता के आधार पर समान कोड को समूहीकृत करके कोड को प्रबंधित और डीबग करना आसान बनाते हैं।

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

कार्यक्षेत्र बनाने का आदेश है:

$ जाओ काम <आज्ञा>

उपयोग काम उपकमांड के साथ कमांड जैसे:

  • इस में → निर्दिष्ट निर्देशिका में कार्यक्षेत्र बनाता है।
  • उपयोग → गो वर्कस्पेस फ़ाइल, गो वर्कस्पेस फ़ाइल में एक नया मॉड्यूल जोड़ता है।
  • संपादन करना → गो कार्यक्षेत्र फ़ाइल को संपादित करता है।
  • साथ-साथ करना → निर्भरता को बिल्ड सूची से कार्यक्षेत्र मॉड्यूल में सिंक्रनाइज़ करता है।

जाने के लिए कार्यस्थानों को शामिल करने से भाषा के विकास की योजना के अनुसार उत्पादकता में वृद्धि होगी।

कार्य में सुधार

जाना संस्करण 1.18 अब एबीआई कॉलिंग सम्मेलन में एआरएम 64 ऐप्पल एम 1 और 64-बिट पावरपीसी का समर्थन करता है। इसके परिणामस्वरूप इन उपकरणों के उपयोगकर्ताओं के लिए CPU प्रदर्शन में 10% से अधिक की वृद्धि होती है।

फ़ंक्शन में घोषित और अप्रयुक्त चर अब प्रोग्राम संकलन पर त्रुटियों के रूप में लॉग किए गए हैं।

जाओ निर्माण कमांड, अन्य संबंधित कमांड के साथ, का समर्थन करता है -आसन ध्वज, जो सी/सी++ के साथ अंतःक्रियाशीलता का समर्थन करता है। यह गो डेवलपर्स को सी और सी ++ प्रोग्राम के साथ गो प्रोग्राम का उपयोग करने में मदद करेगा।

अन्य महत्वपूर्ण अपडेट

मिल जाना कमांड अब मॉड्यूल-जागरूक मोड में संकुल को संस्थापित नहीं करता है, जो कि आपके द्वारा किए जाने वाले समय से एक बड़ा परिवर्तन है सबसे पहले गो के साथ शुरुआत की. जाओ इंस्टाल आदेश बदलता है पाना कार्यस्थानों में मॉड्यूल निर्भरता को समायोजित करने के लिए।

चूंकि टाइप चेकर अब जेनरिक को संभालता है, त्रुटि संदेश पिछले संस्करणों की तुलना में अलग तरीके से लॉग हो सकते हैं।

कार्यक्रमों को संकलित करने में लगने वाला समय 1.18 में धीमा हो सकता है। लेकिन गो द्वारा आपके प्रोग्राम को संकलित करने के बाद यह निष्पादन समय को प्रभावित नहीं करेगा।

आप के लिए जारी नोट में सभी नवीनतम परिवर्तनों का पूरा विवरण पा सकते हैं 1.18. जाओ.

गो 1.18 में कई विविध परिवर्धन हैं

गो 1.18 का उपयोग करके, अब आप सामान्य कोड लिख सकते हैं, फ़ज़िंग का उपयोग करके कुशलता से परीक्षण कर सकते हैं, और कार्यक्षेत्रों का उपयोग करके गो मॉड्यूल के बीच स्विच कर सकते हैं। आप कोड भी लिख सकते हैं जो C और C++ प्रोग्राम के साथ मिलकर काम करता है।

क्या गोलांग आज सीखने लायक है?

आगे पढ़िए

साझा करनाकलरवसाझा करनाईमेल

संबंधित विषय

  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • प्रोग्रामिंग की भाषाएँ

लेखक के बारे में

एमयूओ स्टाफ

हमारे समाचार पत्र के सदस्य बनें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें