Tag Build
Go build tags (juga disebut build constraints) adalah direktif yang memberitahu compiler Go untuk menyertakan atau mengecualikan file selama kompilasi. Gin menggunakan build tags untuk memungkinkan Anda mengganti implementasi internal atau menonaktifkan fitur opsional pada waktu kompilasi, tanpa mengubah kode aplikasi apa pun.
Ini berguna dalam beberapa skenario:
- Optimasi performa — Ganti paket
encoding/jsondefault dengan encoder pihak ketiga yang lebih cepat untuk mempercepat serialisasi JSON di API Anda. - Pengurangan ukuran binary — Hapus fitur yang tidak Anda gunakan, seperti rendering MsgPack, untuk menghasilkan binary yang lebih kecil.
- Penyesuaian deployment — Pilih encoder berbeda untuk lingkungan berbeda (mis., build produksi throughput tinggi vs. build pengembangan standar).
Tag build diteruskan ke toolchain Go dengan flag -tags:
go build -tags=<tag_name> .You can combine multiple tags by separating them with commas:
go build -tags=nomsgpack,go_json .Tag build yang tersedia
| Tag | Effect |
|---|---|
go_json | Replaces encoding/json with go-json |
jsoniter | Replaces encoding/json with jsoniter |
sonic avx | Replaces encoding/json with sonic (requires AVX CPU instructions) |
nomsgpack | Disables MsgPack rendering support |
Dalam bagian ini
Halaman-halaman di bawah ini membahas setiap tag build secara detail:
- Build dengan penggantian JSON — Ganti encoder JSON default dengan go-json, jsoniter, atau sonic untuk serialisasi yang lebih cepat.
- Build tanpa MsgPack — Nonaktifkan rendering MsgPack dengan tag build
nomsgpackuntuk mengurangi ukuran binary.