गो 1.22 पहले ही जारी किया जा चुका है, इसकी नई सुविधाओं और सुधारों के बारे में जानें

गोलंद

गो सी सिंटैक्स से प्रेरित स्थिर टाइपिंग के साथ एक समवर्ती, संकलित प्रोग्रामिंग भाषा है।

का नया संस्करण गो 1.22, संस्करण 1.21 के छह महीने बाद आता है, टूलसेट, रनटाइम, अनुकूलन सुधार, कंपाइलर सुधार और लाइब्रेरीज़ में कई उल्लेखनीय परिवर्तनों के साथ।

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

1.22 मुख्य समाचार जाओ

इस नए संस्करण में, जिसे गो 1.22 से पेश किया गया है, पर प्रकाश डाला गया है "फॉर" लूप में दो बदलावजैसा पहले, फॉर लूप द्वारा घोषित वेरिएबल एक बार बनाए जाते थे और प्रत्येक पुनरावृत्ति में अद्यतन किया गया। गो 1.22 में, लूप का प्रत्येक पुनरावृत्ति नए चर बनाता है इसके अतिरिक्त, आकस्मिक साझाकरण त्रुटियों से बचने के लिए लूप के लिए रेंज फ़ंक्शंस के लिए प्रयोगात्मक समर्थन (GOEXPERIMENT=rangefunc) जोड़ा गया, जो आपको एक फ़ंक्शन को इटरेटर के रूप में निर्दिष्ट करने की अनुमति देता है फॉर लूप्स के साथ लंबे समय से चली आ रही समस्या का समाधान हो गया जिसके कारण पुनरावृत्तियों के बीच लूप वैरिएबल साझा करने के लिए कॉरआउट कॉल किया गया। इसके अतिरिक्त, लूप के लिए अब पूर्णांकों के माध्यम से लूप किया जा सकता है। उदाहरण के लिए:

पैकेज मुख्य आयात "एफएमटी" फंक मुख्य() { i के लिए := रेंज 10 { fmt.Println(10 - i) } fmt.Println("go1.22 टेक ऑफ!") }

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

यह ध्यान रखना महत्वपूर्ण है कि की कार्यक्षमता `मिल जाना`मोड में मॉड्यूल के बाहर अब समर्थित नहीं है गोपथ हालाँकि, अन्य बिल्ड कमांड जैसे विरासत में मिले हैं `निर्माण करें` और `परीक्षण करें` वे विरासती GOPATH कार्यक्रमों के लिए अनिश्चित काल तक काम करना जारी रखेंगे। इसके अलावा, आदेश `गो मॉड इनिट` अब अन्य की कॉन्फ़िगरेशन फ़ाइलों से मॉड्यूल आवश्यकताओं को आयात करने का प्रयास नहीं किया जाएगा «"विक्रेता" (गोपकेजी.लॉक की तरह)।

गो 1.22 एक परिचय देता है नया पैकेज io/असुरक्षित जो पॉइंटर्स और असुरक्षित मेमोरी के साथ काम करने की कार्यक्षमता प्रदान करता है. यह पैकेज पॉइंटर्स को सुरक्षित और असुरक्षित प्रकारों में परिवर्तित करने के साथ-साथ सीमा जांच के बिना मेमोरी कॉपी संचालन करने के तरीके प्रदान करता है।

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

के संस्करण में विंडोज़ के लिए जाएं, ऐसे प्रोग्राम जो लाइब्रेरीज़ को लिंक या लोड करते हैं के साथ निर्मित हो जाओ -बिल्डमोड=सी-संग्रह o -बिल्डमोड=सी-साझा अब इवेंट लॉगिंग विंडोज़ (ETW) API का उपयोग कर सकते हैं नये पैकेज के माध्यम से रनटाइम/ट्रेस y ट्रेसहुक, जो ETW प्रदाता के रूप में गो इवेंट ट्रेस कलेक्शन प्रोटोकॉल को लागू करता है।

अन्य परिवर्तनों में से जो खड़े हैं:

  • आज्ञा जाओ परीक्षण-कवर अब उन कवर किए गए पैकेजों के लिए कवरेज सारांश प्रिंट करता है जिनकी अपनी परीक्षण फ़ाइलें नहीं हैं।
  • ओएस/कार्यकारी, संदर्भ विशेषताओं को परिभाषित करने की क्षमता जोड़ी गई है, जिससे आप निष्पादित आदेशों के लिए कार्यशील निर्देशिका, पर्यावरण चर और इनपुट/आउटपुट फ़ाइल डिस्क्रिप्टर जैसे मान सेट कर सकते हैं।
  • रनटाइम में मेमोरी प्रबंधन को अनुकूलित किया गया, जिसके परिणामस्वरूप 1-3% प्रदर्शन में वृद्धि हुई और अधिकांश अनुप्रयोगों के लिए मेमोरी खपत में 1% की कमी आई।
  • एल Paquete नेट/http, फ़ंक्शन जोड़ा गया है IdleConnections बंद करें HTTP क्लाइंट के लिए, जो क्लाइंट द्वारा हाल ही में उपयोग किए गए सभी निष्क्रिय कनेक्शन को बंद कर देता है
  • कंपाइलर में कॉल इंसर्शन मैकेनिज्म का एक बेहतर प्रायोगिक कार्यान्वयन (GOEXPERIMENT=newinliner) जोड़ा गया है, जो महत्वपूर्ण ऑपरेशनों को गैर-महत्वपूर्ण ऑपरेशनों से अलग करने के लिए अनुमान का उपयोग करता है।
  • पैकेज जोड़ा गया है » गणित/रैंड/v2 »मानक लाइब्रेरी में, जो अधिक सुसंगत एपीआई प्रदान करता है और छद्म यादृच्छिक संख्याएँ उत्पन्न करने के लिए तेज़ एल्गोरिदम का उपयोग करता है।
  • एल Paquete नेट/http.ServeMux टेम्प्लेट में विधियों और मास्क को निर्दिष्ट करने की क्षमता जोड़ी गई।

अंत में, यदि आप इसके बारे में और जानने में दिलचस्पी है, आप विवरण देख सकते हैं निम्नलिखित लिंक में


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।