تطورت لغة البرمجة Go كثيرًا منذ نشرها لأول مرة في عام 2009. كان Go 1.18 إصدارًا متوقعًا للغاية نظرًا لدعمه للأدوية والعديد من التحديثات المهمة الأخرى.
تم إصدار Go الإصدار 1.18 في مارس 2022. إليك المعلومات المنخفضة عن أهم التغييرات.
دعم Generics
تتيح لك البرمجة العامة كتابة وظائف يمكنها قبول أنواع أكثر مرونة وإرجاعها.
قبل دعم الأدوية الجنيسة ، كنت بحاجة إلى تحديد أنواع المعلمات وأنواع الإرجاع بشكل صريح. يسمح لك أبسط أشكال الأدوية العامة بتحديد معلمات غير مطبوعة:
funcطباعة أي شيء[أي](شيءتي) {
FMT.Println(شيء)
}
لكن الأدوية الجنيسة توفر قوة أكبر بكثير من هذا فقط. يمكنك الإعلان عن أي تركيبة ودقة لنوع المعلمات تقريبًا. على سبيل المثال ، يمكنك استخدام ملحق القيود الحزمة لكتابة وظيفة تعمل على أي قيمة يمكنك طلبها. يتضمن هذا عدد صحيح وعوامات وسلاسل. هذا مثال يوضح بناء الجملة:
يستورد "golang.org/x/exp/constraints"
funcالأعلى[تي القيود. أمر](إدخال[]تي) (الأعلىتي) {
لـ _ ، v: = إدخال النطاق {
إذا كان > الأعلى {
ماكس = الخامس
}
}
إرجاع الأعلى
}
لاحظ أن هذه الوظيفة تستخدم النوع العام ، القيود. أمر، للإعلان عن معاملته ونوع الإرجاع الخاص به.
توفر علم الوراثة عدم اليقين والمرونة في الكود. اقتراح Generics والتغييرات متوافقة مع الإصدارات السابقة.
اختبار الزغب
التشويش هو أ تقنية اختبار البرمجيات يقوم بالتحقق من صحة برنامج ببيانات خاطئة أو غير متوقعة أو غير متوقعة.
ال اختبارات تقدم الحزمة التشويش في 1.18 ، لذلك لتعريف الزغب ، عليك استيراده من المكتبة القياسية:
يستورد "اختبارات"
بعد استيراد ملف اختبارات الحزمة ، يمكنك تمرير معرف النوع *اختبارات. F لوظيفة الاختبار.
funcاختبار(و * الاختبار. F) {
// كودك
}
يؤدي التشويش إلى إنشاء معلمات إدخال لاختبار الكود. لا يمكن التنبؤ بنتيجة التشويش لأن المدخلات ليست محددة من قبل المستخدم. من المفترض أن يساعدك التشويش على كتابة اختبارات أكواد أفضل واكتشاف الأخطاء التي لم تكن تعلم بوجودها.
Go Workspace Support
مساحات العمل عبارة عن أدلة لشفرة مصدر مماثلة تشكل مشروعًا أو وحدة أكبر. تعمل مساحات العمل على تسهيل إدارة التعليمات البرمجية وتصحيحها من خلال تجميع التعليمات البرمجية المتشابهة بناءً على الوظائف.
بشكل تقليدي ، تقوم بتقسيم مشاريع Go إلى كود المصدر (src) والملفات القابلة للتنفيذ (سلة مهملات). تعمل سلسلة أدوات Go على إنشاء كود المصدر من السابق إلى ملفات قابلة للتنفيذ في الأخير. تسمح مساحات العمل Go للمطورين بالعمل مع مساحات عمل متعددة باستخدام وحدات Go مع وحدة نمطية رئيسية معينة.
أمر إنشاء مساحات العمل هو:
الذهاب العمل <أمر>
استخدم ال الشغل أمر بأوامر فرعية مثل:
- فيه → ينشئ مساحة عمل في الدليل المحدد.
- استعمال → يضيف وحدة جديدة إلى go.work ، ملف go workspace.
- تعديل → يقوم بتحرير ملف go workspace.
- تزامن ← يزامن التبعيات من قائمة البناء إلى وحدات مساحة العمل.
سيؤدي تضمين مساحات العمل للذهاب إلى زيادة الإنتاجية كما هو مخطط في تطوير اللغة.
تحسينات في الأداء
اذهب يدعم الإصدار 1.18 الآن ARM64 Apple M1 و 64 بت PowerPC في اصطلاح استدعاء ABI. ينتج عن هذا زيادة بنسبة 10٪ في أداء وحدة المعالجة المركزية لمستخدمي هذه الأجهزة.
يتم الآن تسجيل المتغيرات المعلنة وغير المستخدمة في الوظائف كأخطاء في تجميع البرنامج.
ال اذهب للبناء الأمر ، جنبًا إلى جنب مع الأوامر الأخرى ذات الصلة ، يدعم ملف -حسن علم ، الذي يدعم إمكانية التشغيل المتداخل مع C / C ++. سيساعد هذا مطوري Go على استخدام برامج Go مع برامج C و C ++.
تحديثات مهمة أخرى
ال إذهب احضر لم يعد الأمر يقوم بتثبيت الحزم في الوضع المدرك للوحدة ، وهو تغيير كبير من وقت تشغيلك بدأت أولاً مع Go. ال اذهب للتثبيت يستبدل الأمر احصل على لضبط تبعيات الوحدة النمطية عبر مساحات العمل.
نظرًا لأن مدقق النوع يتعامل الآن مع الأدوية الجنيسة ، فقد يتم تسجيل رسائل الخطأ بشكل مختلف عن الإصدارات السابقة.
قد يكون الوقت المستغرق لتجميع البرامج أبطأ في 1.18. لكن هذا لن يؤثر على وقت التنفيذ بمجرد أن يقوم Go بتجميع برنامجك.
يمكنك العثور على التفاصيل الكاملة لجميع التغييرات الأخيرة في ملاحظات إصدار اذهب 1.18.
Go 1.18 لديها العديد من الإضافات المتنوعة
باستخدام Go 1.18 ، يمكنك الآن كتابة رمز عام واختباره بكفاءة باستخدام التشويش والتبديل بين وحدات Go باستخدام مساحات العمل. يمكنك حتى كتابة كود يعمل مع برامج C و C ++.
هل تستحق Golang التعلم اليوم؟
اقرأ التالي
مواضيع ذات صلة
- برمجة
- برمجة
- لغات البرمجة
نبذة عن الكاتب
اشترك في نشرتنا الإخبارية
انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!
انقر هنا للاشتراك