"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ما هو الغرض من واردات الشرطة السفلية في Go؟

ما هو الغرض من واردات الشرطة السفلية في Go؟

تم النشر بتاريخ 2024-12-21
تصفح:329

What's the Purpose of Underscore Imports in Go?

فهم عبارات استيراد الشرطة السفلية

في عالم برمجة Go، يحمل الحرف السفلي ( _ ) الذي يسبق عبارة الاستيراد أهمية محددة. دعونا نستكشف معناها واستخدامها.

الغرض من عمليات الاستيراد تحت السطر

تشير الشرطة السفلية (_ ) في بيان الاستيراد إلى أنه تم استيراد الحزمة فقط من أجل آثارها الجانبية. لا يقوم باستيراد أي وظائف أو طرق أو متغيرات من الحزمة.

التأثيرات الجانبية في حزم Go

تحتوي بعض حزم Go على وظائف تهيئة (تسمى عادةً init() ) تنفذ إجراءات عندما يتم استيراد الحزمة. يمكن أن تتضمن هذه الإجراءات تسجيل برامج تشغيل قاعدة بيانات مخصصة، أو تهيئة المتغيرات العامة، أو تكوين التسجيل.

استيراد الشرطة السفلية للتأثيرات الجانبية

لاستيراد حزمة لتأثيراتها الجانبية ولا شيء آخر، يكون معرف الشرطة السفلية هو يُستخدم كاسم حزمة صريح في بيان الاستيراد. على سبيل المثال، ضع في اعتبارك مقتطف الشفرة من go-sqlite3:

import (
    "database/sql"
    "fmt"
    _ "github.com/mattn/go-sqlite3"
    "log"
    "os"
)

في هذه الحالة، يؤدي استيراد الشرطة السفلية لـ "github.com/mattn/go-sqlite3" إلى تسجيل برنامج تشغيل sqlite3 في مكتبة SQL القياسية. يمكّنك هذا من استخدام sqlite3 كاتصال قاعدة بيانات في التعليمات البرمجية الخاصة بك دون الحاجة إلى استيراد أي وظائف من تلك الحزمة.

تسجيل برنامج تشغيل SQLite3

في حالة go-sqlite3، كود التهيئة التالي يتم تنفيذه عند استيراد الحزمة:

sql.Register("sqlite3", &SQLiteDriver{})

هذا التسجيل يسمح لك باستخدام sqlite3 مثل هذا:

db, err := sql.Open("sqlite3", "./foo.db")

الاستنتاج

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

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3