د Go پروګرامینګ ژبه خپرول 1.18

د Go 1.18 برنامه کولو ژبه خپرول وړاندې کیږي ، کوم چې د ګوګل لخوا د ټولنې په ګډون د هایبرډ حل په توګه رامینځته کیږي چې د تالیف شوي ژبو عالي فعالیت د سکریپټینګ ژبو داسې ګټو سره ترکیب کوي لکه د کوډ لیکلو اسانه کول. د پرمختګ سرعت او د خطا ساتنه. د پروژې کوډ د BSD جواز لاندې ویشل شوی.

د Go ترکیب د C ژبې د پیژندلو عناصرو پراساس دی چې د Python ژبې څخه ځینې پور اخیستل کیږي. ژبه خورا لنډه ده، مګر کوډ د لوستلو او پوهیدو لپاره اسانه دی. د ګو کوډ په یوازینۍ بائنري اجرایوي فایلونو کې تالیف شوی چې په اصلي ډول د مجازی ماشین کارولو پرته چلیږي (پروفایلینګ ، ډیبګ کولو ماډلونه ، او د رن ټایم ستونزې کشف کولو نور فرعي سیسټمونه د رن ټایم برخو په توګه مدغم شوي) ، کوم چې د C برنامو سره پرتله کولو فعالیت ته اجازه ورکوي.

پروژه په پیل کې د څو اړخیزو پروګرامونو په نظر کې نیولو سره رامینځته شوې او په څو کور سیسټمونو کې اغیزمن عملیات شامل دي، په شمول د موازي کمپیوټري تنظیم کولو او د موازي اجرا شوي میتودونو ترمنځ تعامل لپاره د آپریټر کچې وسیلو چمتو کول. ژبه د ډیر تخصیص شوي حافظې بلاکونو پروړاندې جوړ محافظت هم چمتو کوي او د کثافاتو راټولونکي کارولو وړتیا چمتو کوي.

نوې نسخه د عمومي دندو او ډولونو (جنریک) لپاره ملاتړ اضافه کوي ، د کوم په مرسته چې پراختیا کونکی کولی شي په یوځل کې د ډیری ډولونو سره کار کولو لپاره ډیزاین شوي افعال تعریف او وکاروي. دا هم امکان لري چې د ګډ ډولونو رامینځته کولو لپاره انٹرفیس وکاروئ چې ډیری ډیټا ډولونه پراخه کړي. د جنریکونو ملاتړ د موجوده کوډ سره د شاته مطابقت ماتولو پرته پلي کیږي. // Sum set values، د int64 او float64 ډولونو لپاره کار کوي SumIntsOrFloats [K پرتله کولو وړ، V int64 | float64](m نقشه[K]V) V { var s V for _, v := رینج m { s += v } بیرته راستنیدنه s } // بل اختیار د عمومي ډول تعریف سره: د شمیرې انٹرفیس ډول { int64 | float64 } func SumNumbers[K د پرتله کولو وړ، V شمیره](m نقشه[K]V) V { var s V د _ لپاره، v := حد m { s += v } بیرته راستنیدنه }

نور پرمختګونه:

  • د فز کولو کوډ ازموینې لپاره اسانتیاوې په معیاري وسیلې کې مدغم شوي. د فز کولو ازموینې په جریان کې ، د ان پټ ډیټا د ټولو احتمالي تصادفي ترکیبونو جریان رامینځته کیږي او د دوی د پروسس کولو پرمهال احتمالي ناکامۍ ثبت کیږي. که یو ترتیب خراب شي یا د متوقع ځواب سره سمون ونلري، نو دا چلند خورا احتمال لري چې یو بګ یا زیانمنتیا په ګوته کړي.
  • د ملټي ماډلر کاري ځایونو لپاره ملاتړ اضافه شوی ، تاسو ته اجازه درکوي په یوځل کې په ډیری ماډلونو کې کمانډونه اجرا کړئ ، تاسو ته اجازه درکوي په ورته وخت کې په څو ماډلونو کې کوډ جوړ او چل کړئ.
  • د ایپل M1، ARM64 او PowerPC64 پروسیسرونو پراساس د سیسټمونو لپاره د پام وړ فعالیت اصلاح شوي. د سټیک پر ځای د راجسترونو کارولو وړتیا فعاله کړه ترڅو دندو ته دلیلونه انتقال کړي او پایله بیرته راولي. د کمپیلر لخوا د لوپونو انلاین انرول کول ښه شوي. په کمپیلر کې د ډول چیک کول په بشپړ ډول له سره ډیزاین شوي. ځینې ​​​​ازموینې د تیر خوشې کیدو په پرتله د کوډ فعالیت کې 20٪ زیاتوالی ښیې ، مګر تالیف پخپله شاوخوا 15٪ ډیر وخت نیسي.
  • د چلولو په وخت کې، عملیاتي سیسټم ته د وړیا حافظې بیرته راستنیدو موثریت ډیر شوی او د کثافاتو راټولونکي عملیات ښه شوي، چې چلند یې ډیر اټکل شوی.
  • نوي کڅوړې net/netip او debug/buildinfo په معیاري کتابتون کې اضافه شوي. د TLS 1.0 او 1.1 ملاتړ د پیرودونکي کوډ کې د ډیفالټ لخوا غیر فعال شوی. کریپټو/x509 ماډل د SHA-1 هش په کارولو سره لاسلیک شوي سندونو پروسس کول بند کړي دي.
  • په لینوکس کې د چاپیریال لپاره اړتیاوې لوړې شوې؛ د کار کولو لپاره، تاسو اوس اړتیا لرئ چې لږترلږه د 2.6.32 نسخه لینکس کرنل ولرئ. په راتلونکی ریلیز کې، د FreeBSD لپاره ورته بدلونونه تمه کیږي (د FreeBSD 11.x څانګې لپاره ملاتړ به بند شي) او لږترلږه د FreeBSD 12.2 کار کولو ته اړتیا وي.

سرچینه: opennet.ru

Add a comment