Go 1.20, अपनी सादगी, समरूपता और कार्यात्मक प्रोग्रामिंग सुविधाओं के लिए मनाई जाने वाली Google-निर्मित ओपन-सोर्स भाषा का उत्पादन रिलीज़, संकलक के लिए प्रोफ़ाइल-निर्देशित अनुकूलन (PGO) के पूर्वावलोकन के साथ पेश किया गया है। गो 1.20 को आधिकारिक go.dev वेबसाइट से डाउनलोड किया जा सकता है।
गो 1.20 में पीजीओ के पूर्वावलोकन के साथ, कंपाइलर टूलचैन रनटाइम प्रोफाइल जानकारी के आधार पर एप्लिकेशन और वर्कलोड-विशिष्ट अनुकूलन कर सकता है। वर्तमान कंपाइलर पीप्रोफ सीपीयू प्रोफाइल का समर्थन करता है, जिसे रनटाइम/पीप्रोफ या नेट/एचटीटीपी/पीप्रोफ पैकेज का उपयोग करके इकट्ठा किया जा सकता है।
फीडबैक-निर्देशित अनुकूलन के रूप में भी जाना जाता है, पीजीओ में एप्लिकेशन के अगले निर्माण के लिए कंपाइलर में एप्लिकेशन के प्रतिनिधि रन से प्रोफाइल डेटा फीड करना शामिल है। इस जानकारी का उपयोग करके, संकलक अधिक सूचित अनुकूलन निर्णय ले सकता है। गो कार्यक्रमों के एक प्रतिनिधि सेट के लिए बेंचमार्क बताते हैं कि पीजीओ इनलाइनिंग ऑप्टिमाइज़ेशन को सक्षम करने से प्रदर्शन में लगभग 3% से 4% की वृद्धि होती है। भविष्य के रिलीज से अधिक पीजीओ अनुकूलन शुरू करने की उम्मीद है।
पीजीओ की शुरूआत के साथ, गो 1.20 भाषा में चार बदलाव भी लाता है। सबसे पहले, 2021 के गो 1.17 में शुरू की गई एक स्लाइस को एक एरे पॉइंटर में बदलने की क्षमता, अब एक स्लाइस से एक एरे में रूपांतरण तक फैली हुई है। दूसरे, असुरक्षित पैकेज में तीन नए कार्य शामिल हैं: स्लाइसडाटा, स्ट्रिंग और स्ट्रिंगडाटा। ये फ़ंक्शन स्लाइस और स्ट्रिंग मानों के सटीक प्रतिनिधित्व की परवाह किए बिना निर्माण और विखंडन करने की पूर्ण क्षमता प्रदान करते हैं।
तीसरा, विनिर्देश अब स्थापित करता है कि संरचना मानों की तुलना एक समय में एक फ़ील्ड से की जाती है, फ़ील्ड को उस क्रम में ध्यान में रखते हुए जिस क्रम में वे संरचना प्रकार की परिभाषा में दिखाई देते हैं, और पहली बेमेल पर रुकते हैं। चौथा, तुलनीय प्रकार जैसे साधारण इंटरफेस तुलनीय बाधाओं को पूरा कर सकते हैं, भले ही प्रकार के तर्क कड़ाई से तुलनीय न हों। यह एक गैर-सख्ती से तुलनीय प्रकार के तर्क के साथ तुलनीय बाधाओं से विवश एक प्रकार के पैरामीटर की तात्कालिकता को सक्षम करता है, जैसे एक इंटरफ़ेस प्रकार या एक समग्र प्रकार जिसमें एक इंटरफ़ेस प्रकार होता है।
इन भाषा परिवर्तनों के अलावा, गो 1.20 कई अन्य संवर्द्धन के साथ आता है, जैसे कार्यक्रमों के लिए कोड कवरेज प्रोफाइल संग्रह का समर्थन करना, जिसमें एप्लिकेशन और एकीकरण परीक्षण शामिल हैं। निर्देशिका $GOROOT/pkg अब मानक पुस्तकालय के लिए पूर्व-संकलित पैकेज गतिविधियों को नहीं रखती है, जो गो वितरण आकार को कम करती है और सीजीओ पैकेजों के लिए सी टूलचैन स्क्यू से बचाती है। इसके अलावा, go test –json के कार्यान्वयन को मजबूती बढ़ाने के लिए मजबूत किया गया है, जबकि go version -m कमांड अब निष्पादन की अनुमति के बिना विंडोज डीएलएल और लिनक्स बायनेरिज़ सहित गो बायनेरिज़ की एक विस्तृत श्रृंखला को पढ़ता है।
गो 1.20 आरआईएससी-वी पर फ्रीबीएसडी के लिए प्रयोगात्मक समर्थन भी लाता है और सी टूलचेन के बिना सिस्टम पर डिफ़ॉल्ट रूप से सीजीओ को अक्षम करता है। हालाँकि, Go 1.20 macOS 10.13 हाई सिएरा और 10.14 Mojave को सपोर्ट करने वाली अंतिम रिलीज़ होगी, जिसमें Go 1.21 के लिए macOS 10.15 Catalina या बाद के संस्करण की आवश्यकता होगी।
AppMaster.io जैसे No-code प्लेटफॉर्म को गो 1.20 जैसी नई अनुकूलित भाषाओं को शामिल करने से बहुत फायदा हो सकता है। वेब, मोबाइल और बैकएंड एप्लिकेशन के लिए ऐसे शक्तिशाली उपकरणों को एकीकृत करके, व्यवसाय उत्पादकता, उपयोगकर्ता अनुभव और मापनीयता में महत्वपूर्ण सुधार प्राप्त कर सकते हैं। प्रौद्योगिकी वक्र से आगे रहने के लिए no-code और low-code ऐप डेवलपमेंट के बारे में अधिक जानें।