Geri Dön
Go 1.27 yayımlandı: genel metotlar, JSON v2 ve kuantum sonrası kriptografi
SiTech AI Team2 წთ. საკითხავი

Go 1.27 yayımlandı: genel metotlar, JSON v2 ve kuantum sonrası kriptografi

Go ekibi Go 1.27'yi yayımladı: genel metotlar, fonksiyon tiplerinde daha geniş çıkarım, küçük nesnelerde daha hızlı bellek ayırma, encoding/json/v2 paketi ve standart kütüphanede ML-DSA kuantum sonrası imzalar.

Dilde üç değişiklik

Go 1.27, genel metot desteğini getiriyor. Sürüm notları örnek olarak math/rand/v2 içindeki Rand tipini veriyor: her tam sayı tipi için ayrı Int32N, Int64N ve IntN metotları yerine artık tek bir genel metot var — N[Int intType](n Int) Int.

İkinci değişiklik: bir struct literalinde anahtar artık o tip için geçerli herhangi bir alan seçici olabiliyor; böylece iç içe ya da gömülü struct'ların alanları doğrudan ilklendirilebiliyor — örneğin bir Gopher literalinde gömülü Habitat yapısının Burrow alanını ayarlamak gibi.

Üçüncü: fonksiyon tipi çıkarımı genelleştirilerek tüm atama bağlamlarına uygulandı; genel fonksiyonlar artık bileşik literal, tip dönüşümü ve kanala gönderme durumlarında açık tip argümanı olmadan kullanılabiliyor.

Araçlar, bellek ayırma ve profilleme

go fix dört yeni modernleştirici kazanıyor — atomictypes, embedlit, slicesbackward ve unsafefuncs. go doc artık go doc example.com/[email protected] gibi package@version sorgularını kabul ediyor ve go mod tidy, go.mod içindeki birden çok require bloğunu standart iki bloklu direct/indirect yapısına otomatik olarak indiriyor.

Runtime tarafında boyuta göre özelleşmiş bellek ayırma, 80 baytın altındaki küçük nesnelerin ayırma maliyetini yüzde 30'a kadar düşürüyor; ekibe göre bu, ayırmanın yoğun olduğu programlarda genel performansı yaklaşık yüzde 1 iyileştiriyor. runtime/pprof içindeki goroutineleak profili artık genel kullanıma açık ve kalıcı olarak bloke kalan goroutine'lerin otomatik saptanmasını sağlıyor.

Standart kütüphane: JSON v2, kuantum sonrası imzalar, UUID, SIMD

Yeni encoding/json/v2 paketi yapılandırılabilir seçenekler ve daha katı varsayılanlarla üst düzey JSON işleme sunuyor; encoding/json/jsontext ise alt düzey akış işlemeyi kapsıyor. Mevcut encoding/json paketi artık daha hızlı çözümleme için v2 uygulamasını kullanıyor ve geriye dönük uyumluluğu koruyor.

crypto/mldsa, FIPS 204'te tanımlanan kuantum sonrası ML-DSA imza şemasını uyguluyor ve crypto/x509 ile crypto/tls içine entegre edilmiş durumda. Yeni uuid paketi UUID üretimi ve ayrıştırması için yerleşik destek ekliyor, simd ve simd/archsimd deneysel SIMD desteği sunuyor, net/http/httptest ise testing/synctest ile kullanılmak üzere bellek içi sahte bir ağ sağlayan NewTestServer'ı kazanıyor.

Nereden indirilir

İkili arşivler ve kurulum dosyaları Go'nun indirme sayfasında, değişikliklerin tam listesi ise Go 1.27 sürüm notlarında yer alıyor. Ekip, önümüzdeki haftalarda bazı özellikleri daha ayrıntılı ele alan ek yazılar yayımlayacağını belirtiyor.

SSiTech

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.