في عالم برمجة Go، يحمل الحرف السفلي ( _ ) الذي يسبق عبارة الاستيراد أهمية محددة. دعونا نستكشف معناها واستخدامها.
تشير الشرطة السفلية (_ ) في بيان الاستيراد إلى أنه تم استيراد الحزمة فقط من أجل آثارها الجانبية. لا يقوم باستيراد أي وظائف أو طرق أو متغيرات من الحزمة.
تحتوي بعض حزم Go على وظائف تهيئة (تسمى عادةً init() ) تنفذ إجراءات عندما يتم استيراد الحزمة. يمكن أن تتضمن هذه الإجراءات تسجيل برامج تشغيل قاعدة بيانات مخصصة، أو تهيئة المتغيرات العامة، أو تكوين التسجيل.
لاستيراد حزمة لتأثيراتها الجانبية ولا شيء آخر، يكون معرف الشرطة السفلية هو يُستخدم كاسم حزمة صريح في بيان الاستيراد. على سبيل المثال، ضع في اعتبارك مقتطف الشفرة من go-sqlite3:
import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "log" "os" )
في هذه الحالة، يؤدي استيراد الشرطة السفلية لـ "github.com/mattn/go-sqlite3" إلى تسجيل برنامج تشغيل sqlite3 في مكتبة SQL القياسية. يمكّنك هذا من استخدام sqlite3 كاتصال قاعدة بيانات في التعليمات البرمجية الخاصة بك دون الحاجة إلى استيراد أي وظائف من تلك الحزمة.
في حالة go-sqlite3، كود التهيئة التالي يتم تنفيذه عند استيراد الحزمة:
sql.Register("sqlite3", &SQLiteDriver{})
هذا التسجيل يسمح لك باستخدام sqlite3 مثل هذا:
db, err := sql.Open("sqlite3", "./foo.db")
الشرطة السفلية تعد بيانات الاستيراد في Go طريقة مناسبة لاستيراد الحزمة فقط بسبب آثارها الجانبية. إنها تسمح لك بالاستفادة من إجراءات تهيئة الحزمة دون استيراد الوظائف أو المتغيرات بشكل صريح. من خلال فهم غرض واستخدام الشرطة السفلية، يمكنك إدارة تبعيات الحزمة والآثار الجانبية بشكل فعال في مشاريع Go الخاصة بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3