{{end}}`
هنا، يشير .Files إلى شريحة من الملفات، لكننا نريد ذلك قم بالوصول إلى مسار بنية scriptFiles المرفقة. يتيح لنا استخدام $.Path القيام بذلك.
استخدام متغير مخصص (طريقة قديمة)
تتضمن الطريقة البديلة إنشاء متغير مخصص لتمريره إلى نطاق النطاق ، كما هو موضح في هذا القالب:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
من خلال تعيين $p على .Path قبل خط أنابيب النطاق، يمكننا الوصول إلى المسار داخل خط الأنابيب.
ملاحظة: يوصى باستخدام طريقة المتغير $ لأنها الطريقة الأكثر إيجازًا واصطلاحًا في إصدارات Go الحالية.
","image":"http://www.luping.net/uploads/20241110/17312284916730734b51bb5.jpg","datePublished":"2024-11-10T18:28:28+08:00","dateModified":"2024-11-10T18:28:28+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
الوصول إلى خط أنابيب الأصل داخل النطاق في إجراءات القالب
في قوالب Go، من الشائع استخدام خطوط أنابيب النطاق للتكرار عبر الشرائح أو الخرائط. ومع ذلك، تنشأ مشكلة متكررة عند محاولة الوصول إلى البيانات خارج النطاق المباشر لتدفق البيانات. تستكشف هذه المقالة كيفية تحقيق ذلك.
استخدام المتغير $ (مستحسن)
تحدد وثائق النص/القالب أنه عند بدء التنفيذ، يشير المتغير $ إلى البيانات تم تمرير الوسيطة إلى التنفيذ. هذا يعني أنه يمكننا الوصول إلى بيانات النطاق الخارجي باستخدام $.variable.
على سبيل المثال، ضع في اعتبارك هذا القالب:
const page = `{{range .Files}}{{end}}`
هنا، يشير .Files إلى شريحة من الملفات، لكننا نريد ذلك قم بالوصول إلى مسار بنية scriptFiles المرفقة. يتيح لنا استخدام $.Path القيام بذلك.
استخدام متغير مخصص (طريقة قديمة)
تتضمن الطريقة البديلة إنشاء متغير مخصص لتمريره إلى نطاق النطاق ، كما هو موضح في هذا القالب:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
من خلال تعيين $p على .Path قبل خط أنابيب النطاق، يمكننا الوصول إلى المسار داخل خط الأنابيب.
ملاحظة: يوصى باستخدام طريقة المتغير $ لأنها الطريقة الأكثر إيجازًا واصطلاحًا في إصدارات Go الحالية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3