المعرف الفارغ `_`
جزء من قسم Logic & Flow في رحلة GO على Coddy — الدرس 55 من 68.
أحياناً تحتاج إلى استيراد حزمة ليس لاستخدام دوالها أو متغيراتها المصدرة، بل لتحفيز آثارها الجانبية. الأثر الجانبي الأكثر شيوعاً هو تشغيل دالة init الخاصة بالحزمة، والتي يتم تنفيذها تلقائياً عند استيراد الحزمة.
توفر لغة Go المعرف الفارغ _ لهذا الغرض. عندما تستورد حزمة باستخدام المعرف الفارغ، تقوم Go باستيراد الحزمة وتشغيل أي كود تهيئة، ولكنها لا تتطلب منك استخدام أي من معرفاتها المصدرة.
import _ "database/sql/driver"هذا مفيد بشكل خاص عندما تحتاج إلى حزمة لتسجيل نفسها مع نظام آخر أو أداء مهام الإعداد، ولكنك لا تستدعي أياً من وظائفها مباشرة في الكود الخاص بك. بدون المعرف الفارغ (blank identifier)، ستعطيك لغة Go خطأ في الترجمة (compilation error) لاستيراد حزمة غير مستخدمة.
يخبر المعرف الفارغ لغة Go: "قم باستيراد هذه الحزمة من أجل آثارها الجانبية، لكنني لن أشير إليها مباشرة في الكود الخاص بي." يحافظ هذا على نظافة عمليات الاستيراد الخاصة بك مع الاستمرار في الحصول على سلوك التهيئة الذي تحتاجه.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
ورقة مرجعية
استخدم المعرف الفارغ _ لاستيراد الحزم من أجل آثارها الجانبية دون استخدام دوالها المصدرة:
import _ "database/sql/driver"يقوم هذا باستيراد الحزمة وتشغيل كود التهيئة الخاص بها دون مطالبتك باستخدام أي من معرفاتها المصدرة. يكون ذلك مفيداً عندما تحتاج الحزم إلى تسجيل نفسها مع أنظمة أخرى أو أداء مهام الإعداد.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1تدفق التحكم المتقدم
جملة Switch مع `fallthrough`الخروج من الحلقات المتداخلةالاستمرار في حلقة محددةجملة `goto`ملخص - التحكم المتقدم في الحلقات2الـ Structs والميثودز (Methods)
تعريف الـ Methods على الـ Structsالـ Value Receiversالـ Pointer Receiversاختيار الـ Receiversالـ Methods مقابل الـ Functionsملخص - سلوك الـ Struct5تعمق في الـ Maps
Maps من نوع Structsالـ Pointers كقيم في الـ Mapsالتحقق من الـ Nil Mapsمقارنة الـ Mapsمراجعة - عداد تكرار الكلمات3الواجهات (الأساسيات)
ما هي الواجهة؟تعريف الواجهةتطبيق الواجهةاستخدام أنواع الواجهاتالواجهة الفارغةتأكيدات النوع (Type Assertions)تبديل النوع (Type Switch)ملخص - الأشكال والسلوكيات6أسلوب Go الاصطلاحي: المجموعات
أسلوب المجموعات في Goإنشاء مجموعةالإضافة إلى مجموعةالتحقق من العضوية في المجموعةالحذف من مجموعةالتكرار عبر عناصر المجموعةمراجعة - أسماء مستخدمين فريدة9الحزم والنطاق
ما هي الحزمة؟المصدرة مقابل غير المصدرةإنشاء حزمة بسيطةالأسماء المستعارة للحزمالمعرف الفارغ `_`دالة `init`ملخص - بناء أداة مساعدة