1 puan yazan GN⁺ 2025-02-15 | 1 yorum | WhatsApp'ta paylaş
  • Dil değişiklikleri
    • Go 1.24 artık jenerik tür takma adlarını tamamen destekliyor. Tür takma adları, tanımlanmış türler gibi parametre alabiliyor.
  • Performans iyileştirmeleri
    • Runtime tarafında çeşitli performans iyileştirmeleri yapıldı ve bunun sonucunda temsili benchmark'larda CPU ek yükü ortalama %2-3 azaldı.
    • Buna yeni bir yerleşik map implementasyonu, küçük nesneler için daha verimli bellek ayırma ve runtime içinde yeni bir mutex implementasyonu dahil.
  • Araç iyileştirmeleri
    • go komutu, modülün araç bağımlılıklarını izlemek için bir mekanizma sunuyor. go get -tool kullanarak mevcut modüle araç yönergeleri eklenebiliyor.
    • go vet alt komutundaki yeni test analizörü, test paketlerindeki test, fuzzer, benchmark ve örnek bildirimlerinde yaygın hataları raporluyor.
  • Standart kütüphaneye eklenenler
    • Standart kütüphane, FIPS 140-3 uyumluluğu için yeni bir mekanizma içeriyor ve onaylı algoritmaları kullanmak için kaynak kod değişikliği gerekmiyor.
    • Daha önce x/crypto modülünde bulunan çeşitli paketler artık standart kütüphanede kullanılabiliyor.
    • Benchmark'lar artık daha hızlı ve daha az hataya açık olan testing.B.Loop metodunu kullanabiliyor.
    • Yeni os.Root türü, belirli bir dizinin altında dosya sistemi işlemleri yapma yeteneği sunuyor.
    • Runtime, runtime.AddCleanup adlı yeni bir temizleme mekanizması sunuyor; bu mekanizma runtime.SetFinalizer'a göre daha esnek, daha verimli ve daha az hataya açık.
  • WebAssembly desteğinde iyileştirmeler
    • Go 1.24, Go programlarının WebAssembly host'una fonksiyon dışa aktarmasını sağlayan go:wasmexport yönergesini ekliyor ve Go programlarını WASI reaktörü/kütüphanesi olarak derlemeyi destekliyor.

1 yorum

 
GN⁺ 2025-02-15
Hacker News görüşleri
  • Özellikle daha hızlı map uygulamasından ve text/template içinde artık fonksiyon tiplerinin desteklenmesinden memnunum
  • Go 1.23 ile fonksiyon tipleri üzerinde range tanıtılmıştı, ancak bunun Go şablonlarında çalışması ancak şimdi mümkün oldu
  • Tool directive ile belirtilen araçları kurarken kullanılacak etiketlerin belirtilebilip belirtilemediğini merak ediyorum
    • Denedim ama çalışmadı (etiketsiz kuruldu)
    • go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest kullandım
  • os.Root için kullanım alanının ne olduğunu merak ediyorum
    • Bunun güvenlikle ilgili olduğunu anlıyorum
    • Dahili olarak Chroot kullanmadığı için sonuçta birinin Root'tan kaçmanın bir yolunu bulacağını hayal ediyorum
  • Sıkıcı ama hoşuma gidiyor
  • En çok yeni tool flag'lerini bekliyorum
    • O çirkin tools.go dosyasından kurtulabiliriz
  • GODEBUG=fips140=only kullanıldığında, FIPS 140-3'e uymayan kriptografik algoritmalar hata ya da panic döndürüyor
    • Standart kütüphanenin kasıtlı olarak panic üretmesi fikri hoşuma gitmiyor
    • Koda bakmadım ama bunun şu anda hata döndürmeyen fonksiyonlarda mı ortaya çıktığını merak ediyorum
  • Nihayet, uzun zamandır beklenen generic type alias'lar geldi
  • Güzel! Bu sürümü GOAUTH yüzünden bekliyordum
    • Özel git depolarıyla çalışmak daha az zahmetli hale gelir umarım
    • go help goauth çıktısına bakınca beklentimi çok yükseltmiyorum