
Go 1.27 buraxıldı: ümumi metodlar, JSON v2 və post-kvant kriptoqrafiya
Go komandası Go 1.27-ni buraxdı: ümumi metodlar, funksiya tiplərinin daha geniş çıxarılması, kiçik obyektlərin daha sürətli ayrılması, encoding/json/v2 paketi və standart kitabxanada ML-DSA post-kvant imzaları.
Dildə üç dəyişiklik
Go 1.27 ümumi metod dəstəyini gətirir. Buraxılış qeydləri nümunə kimi math/rand/v2-dəki Rand tipini göstərir: hər tam ədəd tipi üçün ayrı Int32N, Int64N və IntN metodları yerinə indi tək ümumi metod var — N[Int intType](n Int) Int.
İkinci dəyişiklik: struct literalında açar artıq həmin tip üçün istənilən etibarlı sahə selektoru ola bilər; beləliklə, iç-içə və ya daxil edilmiş struct-ların sahələri birbaşa inisializasiya olunur — məsələn, Gopher literalında daxil edilmiş Habitat-ın Burrow sahəsini təyin etmək.
Üçüncü: funksiya tipinin çıxarılması ümumiləşdirilərək bütün təyinetmə kontekstlərinə tətbiq edildi; ümumi funksiyalar artıq kompozit literal, tip çevirmə və kanala göndərmə hallarında açıq tip arqumenti olmadan istifadə edilə bilər.
Alətlər, yaddaş ayırma və profilləmə
go fix dörd yeni modernizator qazanır — atomictypes, embedlit, slicesbackward və unsafefuncs. go doc artıq go doc example.com/[email protected] kimi package@version sorğularını qəbul edir, go mod tidy isə go.mod-dakı bir neçə require blokunu avtomatik olaraq standart iki bloklu direct/indirect strukturuna yığır.
Runtime tərəfində ölçüyə uyğunlaşdırılmış yaddaş ayırma 80 baytdan kiçik obyektlərin ayrılma xərcini 30 faizə qədər azaldır; komandanın sözlərinə görə, bu, ayırmanın yoğun olduğu proqramlarda ümumi məhsuldarlığı təxminən 1 faiz yaxşılaşdırır. runtime/pprof-dakı goroutineleak profili artıq ümumi istifadəyə açıqdır və daimi bloklanmış goroutinlərin avtomatik aşkarlanmasına imkan verir.
Standart kitabxana: JSON v2, post-kvant imzalar, UUID, SIMD
Yeni encoding/json/v2 paketi konfiqurasiya edilə bilən parametrlər və daha sərt standart dəyərlərlə yüksək səviyyəli JSON emalı təklif edir, encoding/json/jsontext isə aşağı səviyyəli axın emalını əhatə edir. Mövcud encoding/json paketi artıq daha sürətli dekodlaşdırma üçün v2 tətbiqinə əsaslanır və geriyə uyğunluğu saxlayır.
crypto/mldsa FIPS 204-də müəyyən edilmiş post-kvant ML-DSA imza sxemini tətbiq edir və crypto/x509 ilə crypto/tls-ə inteqrasiya olunub. Yeni uuid paketi UUID-lərin yaradılması və təhlili üçün daxili dəstək əlavə edir, simd və simd/archsimd eksperimental SIMD dəstəyi verir, net/http/httptest isə testing/synctest ilə istifadə üçün yaddaşdaxili saxta şəbəkə — NewTestServer qazanır.
Haradan yükləmək olar
Binar arxivlər və quraşdırıcılar Go-nun yükləmə səhifəsində, dəyişikliklərin tam siyahısı isə Go 1.27 buraxılış qeydlərindədir. Komanda bildirir ki, növbəti həftələrdə bəzi imkanları daha ətraflı işıqlandıran əlavə yazılar dərc olunacaq.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.