تگهای ساخت
تگهای ساخت Go (که به آنها محدودیتهای ساخت نیز گفته میشود) دستورالعملهایی هستند که به کامپایلر Go میگویند فایلها را در حین کامپایل شامل یا حذف کند. Gin از تگهای ساخت استفاده میکند تا به شما اجازه دهد پیادهسازیهای داخلی را تعویض کنید یا ویژگیهای اختیاری را در زمان کامپایل غیرفعال کنید، بدون تغییر در کد برنامه.
این در چندین سناریو مفید است:
- بهینهسازی عملکرد — جایگزینی پکیج پیشفرض
encoding/jsonبا یک رمزگذار شخص ثالث سریعتر برای افزایش سرعت سریالسازی JSON در API شما. - کاهش حجم باینری — حذف ویژگیهایی که استفاده نمیکنید، مانند رندرینگ MsgPack، برای تولید باینری کامپایل شده کوچکتر.
- تنظیم استقرار — انتخاب رمزگذارهای مختلف برای محیطهای مختلف (مثلاً ساخت تولیدی با توان عملیاتی بالا در مقابل ساخت توسعه استاندارد).
تگهای ساخت با فلگ -tags به ابزار Go ارسال میشوند:
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برای کاهش حجم باینری.