أصدرت Google معاينة للإصدار الجديد من لغة البرمجة Go. الإصدار 1.18 يضيف وظائف للبرمجة "العامة" مع الأنواع المسماة "المعلمات".
بكلماتهم الخاصة ، هذا هو أهم وأكبر تغيير في لغة البرمجة منذ إصدار Go الإصدار 1. الفكرة وراء الأدوية الجنسية هي أنها تسمح الآن بوظائف تمثيل الوظائف وهياكل البيانات عن طريق تعديل الأنواع. يستثني هذا "العمومية" المسموح بها من خلال تعريف نوع الواجهة كطريقة لاستخلاص البيانات الفعلية التي يتم إحضارها إلى الوظيفة.
تشير Google إلى أن مطوري Go يجب أن يدركوا أن الوظيفة ستؤدي بلا شك إلى أخطاء جديدة. لذلك يجب أن يتعاملوا مع هذه "الأدوية الجنيسة" بحذر.
وظائف أخرى في Go 1.18 Beta
بالإضافة إلى الوظائف المذكورة أعلاه ، تحتوي المعاينة الجديدة أيضًا على دعم مدمج لكتابة الاختبارات المبنية على التشويش. يمكن أن تعثر هذه الاختبارات تلقائيًا على المدخلات التي تتسبب في تعطل البرامج أو إرجاع إجابات غير صالحة. يوفر Go 1.18 Beta أيضًا "وضع مساحة العمل Go" الجديد. يسمح هذا للمبرمجين بالعمل مع وحدات Go متعددة في وقت واحد. هذا مفيد بشكل خاص للمشاريع الكبيرة ، وفقًا لـ Google.
علاوة على ذلك ، يضيف الإصدار 1.18 Beta وظائف مع أمر go version -m الممتد. يخزن هذا الأمر الآن التفاصيل كعلامات للمترجم. يمكن للبرنامج الآن الاستعلام عن تفاصيل البناء الخاصة به باستخدام الأمر debug.ReadBuildInfo.
أيضًا ، تمت إضافة المزيد من اصطلاحات الاستدعاء المستندة إلى السجل ، والمتاحة منذ Go 1.17 ، في المعاينة. حيث كانت هذه الوظيفة في الإصدار السابق مناسبة فقط لتسريع كود Go على أنظمة x86 و x64 ، فهي الآن مناسبة أيضًا للأنظمة القائمة على ARM64 و PPC64. يجب أن يوفر هذا سرعة أكبر تصل إلى 20 بالمائة.