
Go 1.27 interaktif turu: jenerik metotlar ve kuantum sonrası imzalar
VictoriaMetrics, Go 1.27 için uygulamalı bir tur yayımladı: öne çıkan yenilik jenerik metotlar; ayrıca boyuta özel bellek ayırma, ML-DSA şifrelemesi, uuid paketi ve varsayılan JSON v2 geliyor.
Go 1.27’nin sürümü yaklaşıyor ve VictoriaMetrics nelerin değiştiğine dair, her özellik için çalıştırılabilir örnekler içeren interaktif bir tur yayımladı. 31 Temmuz tarihli yazı Jesús Espino imzası taşıyor ve Go 1.22’den Go 1.26’ya kadar her sürüm için bir tur yazan, artık bırakmaya karar veren Anton Zhiyanov’un başlattığı diziyi sürdürüyor.
Jenerik metotlar sürümün başlığı
Ana değişiklik tip sisteminde: bir metot bildirimi artık alıcıdan bağımsız olarak kendi tip parametrelerini tanımlayabiliyor; böylece bir tip üzerindeki jenerik işlem, paket düzeyinde bir fonksiyon yerine o tipin metodu olarak yaşayabiliyor. Turun örneğinde Box konteyneri, int bir kutuyu string bir kutuya dönüştüren Map metodunu alıyor. Bir kısıt sürüyor: arayüzler hâlâ tip parametreli metot bildiremiyor ve jenerik bir metotla bir arayüz karşılanamıyor. Yanında iki küçük ergonomi kazanımı geliyor: struct literalinde anahtar artık geçerli herhangi bir alan seçici olabiliyor — yani gömülü struct’tan yükseltilmiş bir alan doğrudan atanabiliyor — ve fonksiyon tipi çıkarımı dönüşümlere ve bileşik literallere genişletildi.
Performans: bellek ayırma, SIMD ve derleyici
Derleyici artık boyuta özelleşmiş bellek ayırma rutinlerine çağrı üretiyor ve 80 baytın altındaki küçük ayırmaların maliyetini %30’a kadar düşürüyor. Ayırma yoğun programlarda beklenen genel kazanç yaklaşık %1; karşılığında ikili dosya yaklaşık 60 KB büyüyor ve davranış bir GOEXPERIMENT bayrağıyla kapatılabiliyor. Deneysel, taşınabilir SIMD paketi (GOEXPERIMENT=simd) vektör genişliğinden bağımsız tipler sunuyor ve standart kütüphane şimdiden bir müşterisi: Swiss Table tabanlı map uygulaması hash fonksiyonlarını simd içselleri üzerine yeniden kurdu.
Güvenlik ve standart kütüphane
Kuantum sonrası imzalar crypto/mldsa biçiminde geliyor: FIPS 204’te tanımlanan ML-DSA, üç parametre kümesiyle; ayrıca crypto/x509 ve TLS 1.3 imza şemalarına uzanıyor. Standart kütüphane RFC 9562’ye uygun bir uuid paketi kazanıyor; NewV7 zaman sıralı değerler üretiyor ve veritabanı anahtarları için uygun. Uzun süredir beklenen encoding/json/v2 deney aşamasından çıkıyor: derleme bayrağı olmadan kullanılabiliyor ve klasik encoding/json artık kaputun altında v2 uygulamasına dayanıyor; eski davranışa dönmek için bir GOEXPERIMENT var.strings ve bytes CutLast’ı kazanıyor, Unicode desteği ise 15. sürümden 17’ye atlıyor.
Araçlar ve daha az görünür işler
Araç değişiklikleri arasında: go test artık varsayılan olarak stdversion vet denetimini çalıştırıyor, go doc belirli bir modül sürümünün belgelerini getirebiliyor ve go fix yeni modernleştiriciler kazanıyor. Tur, gözden kaçması kolay işleri de öne çıkarıyor: HTTP/2 nihayet 12.226 satırlık üretilmiş bir dosya yerine gerçek bir paket; HTTP/3 altyapısı dışa açılmayan biçimde geldi; onaysız //go:linkname kullanımı zorlaştı.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.