Lewati ke konten

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/json default 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:

Terminal window
go build -tags=<tag_name> .

You can combine multiple tags by separating them with commas:

Terminal window
go build -tags=nomsgpack,go_json .

Tag build yang tersedia

TagEffect
go_jsonReplaces encoding/json with go-json
jsoniterReplaces encoding/json with jsoniter
sonic avxReplaces encoding/json with sonic (requires AVX CPU instructions)
nomsgpackDisables 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 nomsgpack untuk mengurangi ukuran binary.