لقد تم إصدار Go 1.22 بالفعل، تعرف على ميزاته وتحسيناته الجديدة

جولاند

Go هي لغة برمجة متزامنة ومترجمة مع كتابة ثابتة مستوحاة من بناء جملة C.

النسخة الجديدة من اذهب 1.22، يصل بعد ستة أشهر من الإصدار 1.21، مع عدد من التغييرات الملحوظة على مجموعة الأدوات ووقت التشغيل وتحسينات التحسين وتحسينات المترجم والمكتبات.

بالنسبة لأولئك الذين لا يعرفون عن Go ، يجب أن أخبركم أن هذا هوإنها لغة برمجة يتم تطويرها بواسطة Google بمشاركة المجتمع كحل هجين يجمع بين الأداء العالي للغات المترجمة مع مزايا مثل لغات البرمجة النصية مثل سهولة كتابة الكود وسرعة التطوير والحماية من الأخطاء.

الميزات الرئيسية الجديدة لـ Go 1.22

في هذا الإصدار الجديد، الذي تم تقديمه من Go 1.22، يسلط الضوء على تغييرين في الحلقات "for".كما في السابق، تم إنشاء المتغيرات التي تم الإعلان عنها بواسطة حلقة for مرة واحدة وتم تحديثها في كل تكرار. في Go 1.22، يؤدي كل تكرار للحلقة إلى إنشاء متغيرات جديدة لتجنب أخطاء المشاركة غير المقصودة، بالإضافة إلى ذلك تمت إضافة دعم تجريبي (GOEXPERIMENT=rangefunc) لوظائف النطاق للحلقات، والذي يسمح لك بتحديد وظيفة كمكرر و حل مشكلة طويلة الأمد مع الحلقات مما تسبب في استدعاءات coroutine لمشاركة متغيرات الحلقة بين التكرارات. بالإضافة إلى ذلك، يمكن الآن تنفيذ حلقات for عبر الأعداد الصحيحة. على سبيل المثال:

استيراد الحزمة الرئيسية "fmt" func main() { for i := range 10 { fmt.Println(10 - i) } fmt.Println("go1.22 take off!") }

تغيير ملحوظ آخر في هذا الإصدار الجديد هو تقديم القدرة على استخدام الدليل «بائع« الذي يحتوي على تبعيات مساحة العمل. الآن الأوامر يمكنك استخدام هذا الدليل، الذي تم إنشاؤه باستخدام `اذهب بائع العمل` ويستخدم في أوامر البناء عندما يتم تعيين `-عصري`في «بائع«، هذه هي القيمة الافتراضية عند وجود دليل «بائع» في مساحة العمل.

ومن المهم أن نلاحظ أن وظيفة `إذهب احضر` لم يعد مدعومًا خارج الوحدة النمطية في الوضع جوبات موروثة ومع ذلك، أوامر البناء الأخرى مثل "اذهب للبناء" و"اذهب للاختبار". سيستمرون في العمل إلى أجل غير مسمى لبرامج GOPATH القديمة. وعلاوة على ذلك، الأمر ``الذهاب إلى وزارة الدفاع الحرف الأول`` لن يحاول بعد الآن استيراد متطلبات الوحدة من ملفات التكوين الخاصة بأخرى «"البيع" (مثل Gopkg.lock).

يقدم Go 1.22 أ حزمة جديدة io/غير آمن والذي يوفر وظائف للعمل مع المؤشرات والذاكرة غير الآمنة. توفر هذه الحزمة طرقًا لتحويل المؤشرات من وإلى الأنواع الآمنة وغير الآمنة، بالإضافة إلى إجراء عمليات نسخ الذاكرة دون التحقق من الحدود.

استمر العمل لتضمين التحسينات في المترجم بناءً على نتائج pملف تعريف كود PGO, وهذا هو الآن يستخدم المترجم أدوات devirtualization لتحل محل المكالمات غير المباشرة من الأساليب المختلفة مع تنفيذ الكتلة المضمنة الموسعة. عندما تم تمكين PGO، أدى التغيير الإضافي إلى تحسين أداء معظم البرامج بنسبة 2% إلى 14%.

في إصدار انتقل إلى Windows، البرامج التي تربط المكتبات أو تقوم بتحميلها اذهب للبناء مع -buildmode=c-archive o -buildmode=c-shared يمكنك الآن استخدام واجهة برمجة تطبيقات تسجيل الأحداث في Windows (ETW). من خلال الباقات الجديدة وقت التشغيل/التتبع y خطاف تتبع، والتي تنفذ بروتوكول جمع تتبع حدث Go كموفر ETW.

من التغييرات الأخرى التي تبرز:

  • القيادة اذهب للاختبار - الغلاف يقوم الآن بطباعة ملخصات التغطية للحزم المغطاة التي لا تحتوي على ملفات اختبار خاصة بها.
  • نظام التشغيل/تنفيذتمت إضافة القدرة على تحديد سمات السياق، مما يسمح لك بتعيين قيم مثل دليل العمل ومتغيرات البيئة واصف ملف الإدخال / الإخراج للأوامر المنفذة.
  • إدارة محسنة للذاكرة في وقت التشغيل، مما يؤدي إلى زيادة في الأداء بنسبة 1-3% وتقليل استهلاك الذاكرة بنسبة 1% لمعظم التطبيقات.
  • باكيت صافي/http، تمت إضافة الوظيفة اتصالات خاملة إلى عميل HTTP، مما يؤدي إلى إغلاق كافة الاتصالات الخاملة التي استخدمها العميل مؤخرًا
  • تمت إضافة تطبيق تجريبي محسّن (GOEXPERIMENT=newinliner) لآلية إدراج المكالمات إلى المترجم، والذي يستخدم الاستدلال لفصل العمليات المهمة عن العمليات غير المهمة.
  • تمت إضافة الحزمة » الرياضيات/راند/v2 » إلى المكتبة القياسية، التي توفر واجهة برمجة تطبيقات أكثر اتساقًا وتستخدم خوارزميات أسرع لإنشاء أرقام عشوائية زائفة.
  • باكيت net/http.ServeMux تمت إضافة القدرة على تحديد الأساليب والأقنعة في القوالب.

أخيرا ، إذا كنت كذلك مهتم بمعرفة المزيد عنها ، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.