Go 1.22 zaten yayınlandı, yeni özellikleri ve iyileştirmeleri hakkında bilgi edinin

goland

Go, C sözdiziminden ilham alan statik yazımlı, eşzamanlı, derlenmiş bir programlama dilidir.

Yeni versiyonu Go 1.22, 1.21 sürümünden altı ay sonra geliyor, araç setinde, çalışma zamanında, optimizasyon iyileştirmelerinde, derleyici iyileştirmelerinde ve kitaplıklarda bir dizi önemli değişiklikle birlikte.

Go hakkında bilgisi olmayanlar için söylemeliyim ki buGoogle tarafından geliştirilen bir programlama dilidir. derlenmiş dillerin yüksek performansını kod yazma kolaylığı, geliştirme hızı ve hatalara karşı koruma gibi betik dilleri gibi avantajlarla birleştiren hibrit bir çözüm olarak topluluğun katılımıyla.

Go 1.22'ün başlıca yeni özellikleri

Go 1.22'den itibaren tanıtılan bu yeni versiyonda öne çıkanlar "for" döngülerinde iki değişiklikGibi Daha önce for döngüsü tarafından bildirilen değişkenler bir kez yaratılıyordu ve her yinelemede güncellendi. Go 1.22'de döngünün her yinelemesi yeni değişkenler yaratır kazara paylaşım hatalarını önlemek için ayrıca Aralık işlevleri için for döngülerine deneysel destek (GOEXPERIMENT=rangefunc) eklendi, bu, bir işlevi yineleyici olarak belirtmenize olanak tanır ve for döngüleriyle ilgili uzun zamandır devam eden bir sorunu çözdü bu da eşyordam çağrılarının yinelemeler arasında döngü değişkenlerini paylaşmasına neden oldu. Ek olarak, for döngüleri artık tamsayılar arasında döngü yapabilir. Örneğin:

package main import "fmt" func main() { for i := range 10 { fmt.Println(10 - i) } fmt.Println("go1.22 kalkıyor!") }

Bu yeni sürümdeki bir diğer dikkat çekici değişiklik ise bir dizini kullanma yeteneği «satıcı« çalışma alanı bağımlılıklarını içeren. Şimdi komutlar ` ile oluşturulan bu dizini kullanabilirsiniz.git iş satıcısına` ve derleme komutlarında kullanılır ' ayarlandığında-Mod` içinde «satıcı«, bu bir dizin mevcut olduğunda varsayılan değerdir «satıcı» çalışma alanında.

işlevselliğine dikkat etmek önemlidir. `git al` modundaki bir modülün dışında artık desteklenmiyor GOPATH kalıtsal Ancak, diğer derleme komutları gibi "inşa etmeye git" ve "teste git" Eski GOPATH programları için süresiz olarak çalışmaya devam edecekler. Ayrıca, komut "Mod başlatmaya git" artık diğerlerinin yapılandırma dosyalarından modül gereksinimlerini içe aktarmaya çalışmayacak «“satıcılık” (Gopkg.lock gibi).

Go 1.22 bir tanıtıyor yeni paket io/güvenli değil işaretçilerle ve güvenli olmayan bellekle çalışma işlevselliği sağlar. Bu paket, işaretçileri güvenli ve güvensiz türlere dönüştürmek ve sınır denetimi olmadan bellek kopyalama işlemlerini gerçekleştirmek için yöntemler sağlar.

p sonuçlarına göre derleyicide optimizasyonların yapılmasına yönelik çalışmalara devam edildi.PGO kod profili oluşturma, ve bu mu artık derleyici dolaylı çağrıları değiştirmek için sanallaştırma araçlarını kullanıyor Genişletilmiş satır içi blok yürütmeyle çeşitli yöntemlerin kullanımı. PGO etkinleştirildiğinde, eklenen değişiklik çoğu programın performansını %2 ila %14 oranında artırdı.

Versiyonunda Kitaplıkları bağlayan veya yükleyen Windows programlarını tercih edin İle inşa edil -buildmode=c-arşiv o -buildmode=c-paylaşılan artık Olay Günlüğü Windows (ETW) API'sini kullanabilir yeni paketler aracılığıyla çalışma zamanı/izleme y iz kancasıBir ETW sağlayıcısı olarak Go olay izleme toplama protokolünü uygulayan.

Öne çıkan diğer değişikliklerden:

  • Komut teste git - kapak artık kendi test dosyaları olmayan kapsam dahilindeki paketler için kapsam özetlerini yazdırıyor.
  • işletim sistemi/yürütme, yürütülen komutlar için çalışma dizini, ortam değişkenleri ve giriş/çıkış dosyası tanımlayıcısı gibi değerleri ayarlamanıza olanak tanıyan bağlam niteliklerini tanımlama yeteneği eklendi.
  • Çalışma zamanında optimize edilmiş bellek yönetimi, çoğu uygulamada %1-3 performans artışı ve bellek tüketiminde %1 azalma sağladı.
  • El paquete ağ/http, fonksiyon eklendi Boşta Bağlantıları Kapat istemcinin yakın zamanda kullandığı tüm boş bağlantıları kapatan HTTP istemcisine
  • Derleyiciye, önemli işlemleri önemsiz olanlardan ayırmak için buluşsal yöntemler kullanan, çağrı ekleme mekanizmasının geliştirilmiş bir deneysel uygulaması (GOEXPERIMENT=newinliner) eklenmiştir.
  • Paket eklendi » matematik/rand/v2 » daha tutarlı bir API sunan ve sahte rastgele sayılar oluşturmak için daha hızlı algoritmalar kullanan standart kitaplığa.
  • El paquete net/http.ServeMux Şablonlara yöntem ve maskeleri belirtme yeteneği eklendi.

Son olarak, eğer hakkında daha fazla bilgi edinmekle ilgilenen, detayları kontrol edebilirsin Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.