گو پروگرامنگ ٻولي جو رليز 1.16

Go 1.16 پروگرامنگ ٻولي جو رليز پيش ڪيو ويو آهي، جيڪا گوگل پاران ڪميونٽي جي شموليت سان هڪ هائبرڊ حل جي طور تي تيار ڪئي وئي آهي، جيڪا مرتب ڪيل ٻولين جي اعلي ڪارڪردگي کي گڏ ڪري ٿي، اسڪرپٽنگ ٻولين جي فائدن سان گڏ ڪوڊ لکڻ جي آسانيء سان. ، ترقي جي رفتار ۽ غلطي تحفظ. پروجيڪٽ ڪوڊ بي ايس ڊي لائسنس تحت ورهايو ويو آهي.

گو جو نحو C ٻوليءَ جي واقف عناصرن تي ٻڌل آھي پٿون ٻوليءَ مان ڪجھ قرضن سان. ٻولي ڪافي جامع آهي، پر ڪوڊ پڙهڻ ۽ سمجھڻ ۾ آسان آهي. گو ڪوڊ اسٽينڊ اڪيلو بائنري ايگزيڪيوٽو فائلن ۾ مرتب ڪيو ويو آهي جيڪي مقامي طور تي ورچوئل مشين استعمال ڪرڻ کان سواءِ هلن ٿيون (پروفائلنگ، ڊيبگنگ ماڊلز، ۽ ٻيا رن ٽائم مسئلا ڳولڻ وارا سب سسٽم رن ٽائم اجزاء جي طور تي ضم ٿيل آهن)، جيڪا ڪارڪردگي جي اجازت ڏئي ٿي C پروگرامن جي مقابلي ۾.

پروجيڪٽ شروعاتي طور تي ملٽي ٿريڊ پروگرامنگ ۽ ملٽي ڪور سسٽم تي موثر آپريشن جي نظر سان تيار ڪيو ويو آهي، جنهن ۾ متوازي ڪمپيوٽنگ کي منظم ڪرڻ ۽ متوازي-عملي طريقن جي وچ ۾ رابطي لاءِ آپريٽر-سطح جا وسيلا مهيا ڪرڻ شامل آهن. ٻولي وڌيڪ مختص ٿيل ميموري بلاڪ جي خلاف بلٽ ان تحفظ پڻ فراهم ڪري ٿي ۽ گندگي ڪليڪٽر استعمال ڪرڻ جي صلاحيت فراهم ڪري ٿي.

Go 1.16 ۾ متعارف ڪرايل اهم نيون خاصيتون:

  • شامل ڪيو ويو ايمبيڊ پيڪيج، جيڪو پروگرام ۾ صوابديدي فائلن ۽ ڊائريڪٽرن کي شامل ڪرڻ لاءِ اوزار مهيا ڪري ٿو. ھڪڙي نئين ھدايت "//go:embed" مهيا ڪئي وئي آھي وضاحت ڪرڻ لاءِ فائلن کي گڏ ڪرڻ لاءِ گڏ ٿيڻ واري وقت تي. مثال طور، ڪوڊ تبصرو ۾ “//go:embed test.txt” بيان ڪرڻ ۽ پوءِ متغير جو اعلان ڪرڻ “var f embed.FS” test.txt فائل جي ايمبيڊنگ ۽ ان جي ذريعي رسائي ڪرڻ جي صلاحيت جي اڳواڻي ڪندو. f" وضاحت ڪندڙ. ساڳيءَ طرح، توھان فائلن کي وسيلن سان گڏ ڪري سگھوٿا يا ڪم لاءِ ضروري ھڪڙي قسم جي انفرادي قدرن سان، مثال طور، ورشن.txt فائل مان اسٽرنگ ويريبل “s” حاصل ڪرڻ لاءِ، توھان وضاحت ڪري سگھو ٿا: import _ “embed ”//go:embed version.txt var s string print (s)
  • ڊفالٽ طور، نئون ماڊل سسٽم انٽيگريٽيڊ ورزننگ سپورٽ سان ھاڻي گھربل آھي، GOPATH-based انحصار واري انتظام کي بدلائي. GO111MODULE ماحوليات متغير هاڻي ڊفالٽ طور "آن" تي مقرر ڪيو ويو آهي ۽ ماڊل موڊ استعمال ڪيو ويندو آهي بغير ڪنهن go.mod فائل جي ڪم ڪندڙ يا والدين ڊاريڪٽري ۾ موجود هجڻ جي. نئين موڊ ۾، ٺاھڻ وارا ڪمانڊ جيئن ته "go build" ۽ "go test"، go.mod ۽ go.sum جي مواد کي تبديل نه ڪندا آھن، ۽ "go install" ڪمانڊ ورزن آرگيمنٽس تي عمل ڪندو آھي ("go install example.com/[ايميل محفوظ ٿيل]"). پراڻي رويي کي واپس ڪرڻ لاء، GO111MODULE کي "خودڪار" کي تبديل ڪريو. اهو نوٽ ڪيو ويو آهي ته 96٪ ڊولپرز اڳ ۾ ئي نئين ماڊل سسٽم کي تبديل ڪري ڇڏيو آهي.
  • لنڪر کي بهتر ڪيو ويو آهي. وڏن منصوبن لاءِ، ترتيب ھاڻي 20-25٪ تيز آھي ۽ 5-15٪ گھٽ ياداشت جي ضرورت آھي.
  • ڪمپلر "لاء" لوپس، طريقي جي قيمتن ۽ 'قسم سوئچ' جي تعميرات جي مختصر وضاحتن سان افعال جي ان لائن توسيع لاءِ مدد شامل ڪئي آھي.
  • نئين ايپل M1 ARM چپ سان ليس ايپل سسٽم لاءِ سپورٽ شامل ڪئي وئي. شامل ڪيا ويا netbsd/arm64 ۽ openbsd/mips64 بندرگاهن کي NetBSD لاءِ سپورٽ سان 64-bit ARM ۽ OpenBSD تي MIPS64 سسٽم. linux/riscv64 پورٽ تي cgo ۽ “-buildmode=pie” موڊ لاءِ سپورٽ شامل ڪئي وئي.
  • x87 تاليف موڊ لاءِ سپورٽ بند ڪئي وئي آھي (GO386=387). SSE2 بغير هدايتن واري پروسيسرز لاءِ سپورٽ هاڻي موجود آهي "GO386=softfloat" سافٽ ويئر موڊ ذريعي.

اضافي طور تي، اسان ڊارٽ 2.12 ٻولي جي بيٽا رليز جي جاچ جي شروعات کي نوٽ ڪري سگھون ٿا، جنهن ۾ "نول" قدر (نال حفاظت) استعمال ڪرڻ لاءِ محفوظ موڊ مستحڪم ڪيو ويو آهي، جيڪو حادثن کان بچڻ ۾ مدد ڪندو جيڪي متغير استعمال ڪرڻ جي ڪوششن جي ڪري ٿي سگھن ٿا جن جي. قدر غير بيان ٿيل آهي ۽ "نال" تي سيٽ ڪيو ويو آهي. موڊ جو مطلب اهو آهي ته متغيرن ۾ null قدر نه هوندا جيستائين انهن کي واضح طور تي قدر null مقرر نه ڪيو وڃي. موڊ سختي سان متغير قسمن جو احترام ڪري ٿو، جيڪو مرتب ڪندڙ کي اضافي اصلاحن کي لاڳو ڪرڻ جي اجازت ڏئي ٿو. قسم جي تعميل کي مرتب ڪرڻ وقت چيڪ ڪيو ويندو آهي، مثال طور، جيڪڏهن توهان هڪ قسم سان متغير کي "Null" جي قيمت تفويض ڪرڻ جي ڪوشش ڪندا آهيو، جيڪو غير بيان ڪيل رياست جو مطلب نه آهي، جهڙوڪ "int"، هڪ غلطي ڏيکاري ويندي.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو