Go 1.22 आधीच रिलीझ झाले आहे, त्याची नवीन वैशिष्ट्ये आणि सुधारणांबद्दल जाणून घ्या

गोललँड

गो ही एक समवर्ती, संकलित प्रोग्रामिंग भाषा आहे जी C वाक्यरचनाद्वारे प्रेरित स्थिर टायपिंगसह आहे.

ची नवीन आवृत्ती 1.22 वर जा, आवृत्ती 1.21 नंतर सहा महिन्यांनी येते, टूलसेट, रनटाइम, ऑप्टिमायझेशन सुधारणा, कंपाइलर सुधारणा आणि लायब्ररीमध्ये अनेक लक्षणीय बदलांसह.

ज्यांना गो बद्दल माहिती नाही त्यांच्यासाठी मी तुम्हाला हे सांगायलाच हवेही एक प्रोग्रामिंग भाषा आहे जी Google ने विकसित केली आहे संकलित भाषांच्या उच्च कार्यक्षमतेला संकलित केलेल्या भाषांच्या उच्च कार्यक्षमतेसह जसे की लेखन कोडची सुलभता, विकासाची गती आणि त्रुटींपासून संरक्षण यांसारख्या फायद्यांसह समुदायाच्या सहभागासह.

Go 1.22 ची मुख्य नवीन वैशिष्ट्ये

Go 1.22 वरून सादर केलेल्या या नवीन आवृत्तीमध्ये, हायलाइट्स "साठी" लूपमध्ये दोन बदलपासून पूर्वी, a for loop द्वारे घोषित व्हेरिएबल्स एकदाच तयार केले जात होते आणि प्रत्येक पुनरावृत्तीमध्ये अद्यतनित केले गेले. Go 1.22 मध्ये, लूपची प्रत्येक पुनरावृत्ती नवीन व्हेरिएबल्स तयार करते या व्यतिरिक्त, आकस्मिक सामायिकरण त्रुटी टाळण्यासाठी लूपसाठी श्रेणी कार्यांसाठी प्रायोगिक समर्थन (GOEXPERIMENT=rangefunc) जोडले, जे तुम्हाला इटरेटर म्हणून फंक्शन निर्दिष्ट करण्याची परवानगी देते आणि for loops सह दीर्घकालीन समस्येचे निराकरण केले ज्यामुळे पुनरावृत्ती दरम्यान लूप व्हेरिएबल्स सामायिक करण्यासाठी कोरटीन कॉल्स होतात. याव्यतिरिक्त, लूपसाठी आता पूर्णांकांद्वारे लूप करता येते. उदाहरणार्थ:

पॅकेज मुख्य आयात "fmt" func main() { i साठी := श्रेणी 10 { fmt.Println(10 - i) } fmt.Println("go1.22 टेक ऑफ!") }

या नवीन आवृत्तीतील आणखी एक लक्षणीय बदल म्हणजे ची ओळख निर्देशिका वापरण्याची क्षमता «विक्रेता« ज्यामध्ये कार्यक्षेत्र अवलंबित्व समाविष्ट आहे. आतां आज्ञा तुम्ही ही निर्देशिका वापरू शकता, जी ` ने तयार केली आहेकाम विक्रेता जा` आणि बिल्ड कमांडमध्ये वापरले जाते जेव्हा ` सेट केले जाते-मोड` मध्ये «विक्रेता«, निर्देशिका अस्तित्वात असताना हे डीफॉल्ट मूल्य आहे «विक्रेता» कार्यक्षेत्रात.

ची कार्यक्षमता लक्षात घेणे महत्त्वाचे आहे `जाऊन` यापुढे मोडमधील मॉड्यूलच्या बाहेर समर्थित नाही गोपथ वारसा मिळालेला तथापि, इतर बिल्ड कमांड जसे `गो बिल्ड` आणि `गो टेस्ट` ते परंपरागत GOPATH कार्यक्रमांसाठी अनिश्चित काळासाठी काम करत राहतील. शिवाय, आज्ञा `जा मोड इनिट` यापुढे इतर «च्या कॉन्फिगरेशन फाइल्समधून मॉड्यूल आवश्यकता आयात करण्याचा प्रयत्न करणार नाही."विक्रेते" (Gopkg.lock सारखे).

गो 1.22 परिचय करून देते अ नवीन पॅकेज io/असुरक्षित जे पॉइंटर्स आणि असुरक्षित मेमरीसह कार्य करण्यासाठी कार्यक्षमता प्रदान करते. हे पॅकेज सुरक्षित आणि असुरक्षित प्रकारांमध्ये पॉइंटर रूपांतरित करण्यासाठी तसेच मेमरी कॉपी ऑपरेशन्स करण्यासाठी सीमा तपासण्याशिवाय पद्धती प्रदान करते.

p च्या परिणामांवर आधारित कंपाइलरमध्ये ऑप्टिमायझेशन समाविष्ट करण्याचे काम चालू राहिलेपीजीओ कोड प्रोफाइलिंग, आणि ते आहे आता कंपाइलर अप्रत्यक्ष कॉल्स बदलण्यासाठी डीव्हर्च्युअलायझेशन टूल्स वापरतो विस्तारित इनलाइन ब्लॉक अंमलबजावणीसह विविध पद्धती. जेव्हा PGO सक्षम केले होते, तेव्हा जोडलेल्या बदलामुळे बहुतेक प्रोग्राम्सचे कार्यप्रदर्शन 2% ते 14% पर्यंत सुधारले.

च्या आवृत्तीत Windows साठी जा, लायब्ररी लिंक किंवा लोड करणारे प्रोग्राम सह बांधले जा -buildmode=c-संग्रहण o -buildmode=c-सामायिक आता इव्हेंट लॉगिंग विंडोज (ETW) API वापरू शकतो नवीन पॅकेजेसद्वारे रनटाइम/ट्रेस y ट्रेसहूक, जे ETW प्रदाता म्हणून Go इव्हेंट ट्रेस कलेक्शन प्रोटोकॉल लागू करतात.

इतर बदल की:

  • आज्ञा जा चाचणी - आवरण ज्यांच्या स्वतःच्या चाचणी फाइल्स नसतात अशा कव्हर केलेल्या पॅकेजेससाठी आता कव्हरेज सारांश मुद्रित करते.
  • os/exec, संदर्भ गुणधर्म परिभाषित करण्याची क्षमता जोडली गेली आहे, ज्यामुळे तुम्हाला कार्यान्वित निर्देशांक, पर्यावरण व्हेरिएबल्स आणि निष्पादित आदेशांसाठी इनपुट/आउटपुट फाइल वर्णनकर्ता यासारखी मूल्ये सेट करण्याची परवानगी मिळते.
  • रनटाइममध्ये ऑप्टिमाइझ केलेले मेमरी व्यवस्थापन, परिणामी 1-3% कार्यप्रदर्शन वाढते आणि बहुतेक अनुप्रयोगांसाठी मेमरी वापरामध्ये 1% घट होते.
  • पॅकेज नेट/http, फंक्शन जोडले गेले आहे IdleConnections बंद करा HTTP क्लायंटला, जे क्लायंटने अलीकडे वापरलेले सर्व निष्क्रिय कनेक्शन बंद करते
  • कॉल इन्सर्टेशन मेकॅनिझमची सुधारित प्रायोगिक अंमलबजावणी (GOEXPERIMENT=newinliner) कंपाइलरमध्ये जोडली गेली आहे, जी महत्त्वाच्या ऑपरेशन्सला महत्त्वाच्या नसलेल्यांपासून वेगळे करण्यासाठी ह्युरिस्टिकचा वापर करते.
  • पॅकेज जोडले गेले आहे » math/rand/v2 » मानक लायब्ररीमध्ये, जे अधिक सुसंगत API ऑफर करते आणि स्यूडोरँडम संख्या व्युत्पन्न करण्यासाठी जलद अल्गोरिदम वापरते.
  • पॅकेज net/http.ServeMux टेम्पलेट्समध्ये पद्धती आणि मुखवटे निर्दिष्ट करण्याची क्षमता जोडली.

शेवटी, आपण असल्यास याबद्दल अधिक जाणून घेण्यात स्वारस्य आहे, आपण तपशील तपासू शकता पुढील लिंकवर


टिप्पणी करणारे सर्वप्रथम व्हा

आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.