İçeriğe geç

Derleme Etiketleri

Go derleme etiketleri (derleme kısıtlamaları olarak da bilinir), Go derleyicisine derleme sırasında dosyaları dahil etmesini veya hariç tutmasını söyleyen yönergelerdir. Gin, derleme etiketlerini kullanarak herhangi bir uygulama kodunu değiştirmeden, derleme zamanında dahili uygulamaları değiştirmenize veya isteğe bağlı özellikleri devre dışı bırakmanıza olanak tanır.

Bu, çeşitli senaryolarda kullanışlıdır:

  • Performans optimizasyonu — Varsayılan encoding/json paketini daha hızlı bir üçüncü taraf kodlayıcıyla değiştirerek API’nizdeki JSON serileştirmesini hızlandırın.
  • İkili dosya boyutunu küçültme — MsgPack işleme gibi kullanmadığınız özellikleri çıkararak daha küçük bir derlenmiş ikili dosya üretin.
  • Dağıtım ayarlama — Farklı ortamlar için farklı kodlayıcılar seçin (örneğin, yüksek verimli bir üretim derlemesi ile standart bir geliştirme derlemesi).

Derleme etiketleri Go araç zincirine -tags bayrağı ile iletilir:

Terminal window
go build -tags=<etiket_adı> .

Birden fazla etiketi virgülle ayırarak birleştirebilirsiniz:

Terminal window
go build -tags=nomsgpack,go_json .

Kullanılabilir derleme etiketleri

EtiketEtki
go_jsonencoding/json yerine go-json kullanır
jsoniterencoding/json yerine jsoniter kullanır
sonic avxencoding/json yerine sonic kullanır (AVX CPU komutları gerektirir)
nomsgpackMsgPack işleme desteğini devre dışı bırakır

Bu bölümde

Aşağıdaki sayfalar her derleme etiketini ayrıntılı olarak ele almaktadır:

  • JSON yerine alternatif ile derleme — Daha hızlı serileştirme için varsayılan JSON kodlayıcısını go-json, jsoniter veya sonic ile değiştirin.
  • MsgPack olmadan derleme — İkili dosya boyutunu küçültmek için nomsgpack derleme etiketi ile MsgPack işlemeyi devre dışı bırakın.