علامات البناء
علامات البناء في Go (تُسمى أيضاً قيود البناء) هي توجيهات تخبر مترجم Go بتضمين أو استبعاد ملفات أثناء التجميع. يستخدم Gin علامات البناء للسماح لك باستبدال التنفيذات الداخلية أو تعطيل الميزات الاختيارية في وقت التجميع، دون تغيير أي كود في التطبيق.
هذا مفيد في عدة سيناريوهات:
- تحسين الأداء — استبدال حزمة
encoding/jsonالافتراضية بمُرمّز طرف ثالث أسرع لتسريع تسلسل JSON في واجهتك البرمجية. - تقليل حجم الملف الثنائي — إزالة الميزات التي لا تستخدمها، مثل عرض MsgPack، لإنتاج ملف ثنائي مُترجم أصغر.
- ضبط النشر — اختيار مُرمّزات مختلفة لبيئات مختلفة (مثلاً بناء إنتاج عالي الإنتاجية مقابل بناء تطوير قياسي).
تُمرر علامات البناء إلى سلسلة أدوات Go باستخدام علم -tags:
go build -tags=<tag_name> .يمكنك دمج علامات متعددة بفصلها بفواصل:
go build -tags=nomsgpack,go_json .علامات البناء المتاحة
| العلامة | التأثير |
|---|---|
go_json | تستبدل encoding/json بـ go-json |
jsoniter | تستبدل encoding/json بـ jsoniter |
sonic avx | تستبدل encoding/json بـ sonic (تتطلب تعليمات AVX للمعالج) |
nomsgpack | تعطّل دعم عرض MsgPack |
في هذا القسم
تغطي الصفحات أدناه كل علامة بناء بالتفصيل:
- البناء مع استبدال JSON — استبدال مُرمّز JSON الافتراضي بـ go-json أو jsoniter أو sonic لتسلسل أسرع.
- البناء بدون MsgPack — تعطيل عرض MsgPack باستخدام علامة البناء
nomsgpackلتقليل حجم الملف الثنائي.