د Go ترکیب د C ژبې د پیژندلو عناصرو پراساس دی چې د Python ژبې څخه ځینې پور اخیستل کیږي. ژبه خورا لنډه ده، مګر کوډ د لوستلو او پوهیدو لپاره اسانه دی. د ګو کوډ په یوازینۍ بائنري اجرایوي کې تالیف شوی چې د مجازی ماشین کارولو پرته په اصلي ډول پرمخ ځي (پروفایل کول ، ډیبګ کول ، او د چلولو نور ستونزې کشف کولو فرعي سیسټمونه په توګه مدغم شوي
پروژه په پیل کې د څو اړخیزو پروګرامونو په نظر کې نیولو سره رامینځته شوې او په څو کور سیسټمونو کې اغیزمن عملیات شامل دي، په شمول د موازي کمپیوټري تنظیم کولو او د موازي اجرا شوي میتودونو ترمنځ تعامل لپاره د آپریټر کچې وسیلو چمتو کول. ژبه د ډیر تخصیص شوي حافظې بلاکونو پروړاندې جوړ محافظت هم چمتو کوي او د کثافاتو راټولونکي کارولو وړتیا چمتو کوي.
اصلي
- د کریپټو/tls بسته د پروتوکول ملاتړ په ډیفالټ فعال شوی
TLS 1.3 . د Ed25519 ډیجیټل لاسلیکونو ملاتړ سره نوی کڅوړه "crypto/ed25519" اضافه کړه؛ - د بائنري شمیرو تعریف کولو لپاره د نوي عددي لغوي مخکیني ملاتړ اضافه شوی (د مثال په توګه 0b101) ، اوکټل (0o377) ، خیالي (2.71828i) او هیکساډیسیمل فلوټینګ پوائنټ (0x1p-1021) ، او د لید جلا ډیجیټونو لپاره د "_" کرکټر کارولو وړتیا په لوی شمیر کې (1_000_000)؛
- د شفټ عملیاتو کې یوازې د نه لاسلیک شوي کاونټرو کارولو محدودیت لرې شوی ، کوم چې د "‹‹" او "››" آپریټرونو کارولو دمخه یونټ ډول ته د غیر ضروري تبادلو مخه نیسي؛
- د Illumos پلیټ فارم لپاره ملاتړ اضافه شوی (GOOS = illumos). د Android 10 پلیټ فارم سره مطابقت تضمین شوی. د FreeBSD (11.2) او macOS (10.11 "El Capitan") لږترلږه نسخو لپاره اړتیاوې لوړې شوې.
- د نوي ماډل سیسټم دوامداره پراختیا، کوم چې د GOPATH لپاره د بدیل په توګه کارول کیدی شي. په Go 1.13 کې د مخکینیو اعلان شویو پلانونو برعکس، دا سیسټم په ډیفالټ نه دی فعال شوی او د GO111MODULE=on متغیر یا د داسې شرایطو کارولو له لارې فعالولو ته اړتیا لري چې ماډلونه په اوتومات ډول پلي کیږي. نوی ماډل سیسټم د مدغم نسخه ملاتړ ، د کڅوړې تحویلي وړتیاوې ، او د انحصار مدیریت ښه کوي. د ماډلونو سره، پراختیا کونکي نور د GOPATH ونې کې کار کولو سره تړلي ندي، کولی شي په واضح ډول د نسخې انحصار تعریف کړي، او د تکرار وړ جوړونه رامینځته کړي.
د پخوانیو ریلیزونو برعکس، د نوي سیسټم اتوماتیک غوښتنلیک اوس کار کوي کله چې د go.mod فایل په اوسني کاري لارښود یا اصلي لارښود کې موجود وي کله چې د go کمانډ چلوي، په شمول کله چې دا د GOPATH/src لارښود کې وي. د نوي چاپیریال متغیرات اضافه شوي: GOPRIVATE، کوم چې د عامه لاسرسي وړ ماډلونو لارې ټاکي، او GOSUMDB، کوم چې د هغو ماډلونو لپاره چې په go.sum فایل کې لیست شوي ندي د چیکسم ډیټابیس ته د لاسرسي پیرامیټونه مشخص کوي؛
- د "ګو" کمانډ په ډیفالټ ډول ماډلونه باروي او د ګوګل لخوا ساتل شوي ماډل عکس او چیکسم ډیټابیس په کارولو سره د دوی بشپړتیا چیک کوي (proxy.golang.org, sum.golang.org او index.golang.org);
- یوازې د بائنری کڅوړو لپاره ملاتړ بند شوی؛ په "//go:binary-only-package" حالت کې د بسته بندۍ جوړول اوس د تېروتنې پایله ده؛
- د "go get" کمانډ ته د "@patch" ضمیمې لپاره ملاتړ اضافه شوی ، دا په ګوته کوي چې ماډل باید د ساتنې وروستي خوشې کیدو ته تازه شي ، مګر پرته له اوسني لوی یا کوچني نسخې بدلولو څخه؛
- کله چې د سرچینې کنټرول سیسټمونو څخه ماډلونه بیرته ترلاسه کول، د "go" کمانډ اوس د نسخې سټینګ اضافي چک ترسره کوي، هڅه کوي چې د pseudo-version شمیرې د ذخیره کولو میټاډاټا سره میچ کړي؛
- ملاتړ اضافه کړ
د تېروتنې تفتیش (غلطي لپاسه) د ریپرونو رامینځته کولو له لارې چې د معیاري غلطی اداره کونکو کارولو ته اجازه ورکوي. د مثال په ډول،یوه غلطي "e" د میتود په چمتو کولو سره د غلطۍ "w" شاوخوا پوښل کیدی شيخلاصول د "w" بیرته راګرځي. دواړه غلطۍ "e" او "w" په برنامه کې شتون لري او پریکړې د غلطۍ "w" پراساس ترسره کیږي ، مګر "e" "w" ته اضافي شرایط چمتو کوي یا په بل ډول تشریح کوي؛ - د چلولو وخت اجزاو فعالیت غوره شوی (تر 30٪ پورې د سرعت زیاتوالی یادونه شوې) او عملیاتي سیسټم ته د حافظې ډیر جارحانه راستنیدل پلي شوي (پخوا ، حافظه له پنځو یا ډیرو دقیقو وروسته بیرته راستانه شوې وه ، مګر اوس سمدلاسه د ډډې اندازې کمولو وروسته).
سرچینه: opennet.ru