Google'ın Go (Golang) programlama dili en son sürümü olan Go 1.19'u yayınlayarak jenerik desteğini geliştirdi, gelişmiş bir bellek modeli tanıttı ve çeşitli başka özellikler sunuyor. Bu güncelleme, ilk olarak Go 1.18'de sunulan son eklenen jenerikleri iyileştirmeye ve jenerik kodun performansını yüzde 20'ye kadar optimize etmeye odaklanıyor.
Go 1.19'daki İyileştirmeler
Go 1.19'un 2 Ağustos'ta piyasaya sürülmesiyle, jenerik desteğin geliştirilmesi, performans iyileştirmelerinin yanı sıra topluluk tarafından bildirilen incelikli sorunları ve önemli vakaları ele almaya odaklanıyor. Jeneriklerin dile getirilmesi, Mart ayında piyasaya sürülen Go 1.18'e eklenen uzun zamandır beklenen bir özellikti.
Go bellek modeli, senkronizasyon/atomik paketin davranışını açıkça tanımlayacak şekilde güncellendi ve senkronizasyon algoritmalarını uygulamak için düşük seviyeli atomik bellek ilkelleri sağladı. Daha önce olan ilişkisinin resmi tanımı, C, C++, Java, JavaScript, Rust ve Swift tarafından kullanılan bellek modelleriyle uyumlu olacak şekilde yenilendi. Bu güncelleme mevcut programları etkilemez.
Bellek modeli yükseltmesinin bir parçası olarak, sync/atomic paketine atomik değerlerin kullanılmasını daha kolay hale getiren atomik.int64 ve atomik.Pointer(T) dahil olmak üzere yeni türler eklenmiştir. Go 1.19 artık Windows, macOS ve Linux için go.dev'den indirilebilir.
Go 1.19'daki Ek Özellikler
Jeneriklerdeki ve yeni bellek modelindeki geliştirmelerin yanı sıra, Go 1.19 başka özellikler de sunmuştur:
- Çöp toplayıcıya eklenen, özel bellek ayırmaları olan kaplarda çalışan Go programlarının optimize edilmesine yardımcı olan bir esnek bellek sınırı.
- Yığın kopyalamayı azaltmak için eşyordam yığınlarının dinamik boyutlandırılması, çoğu Unix sisteminde ek dosya tanımlayıcıların otomatik kullanımı, x86-64 ve ARM64'te büyük anahtar ifadeleri için atlama tabloları ve hata ayıklayıcı enjekte edilen işlev çağrıları desteği gibi performans ve uygulama geliştirmeleri ARM64.
- Mevcut programları etkilemeden yöntem bildirimlerindeki parametrelerin yazılması için küçük bir düzeltme yapıldı.
- Belge yorumları artık bağlantıları, listeleri ve başlık sözdizimini destekleyerek, özellikle kapsamlı API'lere sahip paketler için belge yorumu kompozisyonunu daha net hale getiriyor.
- Güvenlik amacıyla, os/exec paketi artık PATH aramalarında göreli yollara izin vermemektedir.
- Hedeflenen işletim sistemi herhangi bir Unix benzeri sistemde çalıştığında tatmin olan yeni bir yapı kısıtlaması olan unix tanıtıldı.
AppMaster gibi no-code ve low-code platformların benimsenmesi AppMaster increases, it is essential for developers to stay up to date with the latest advancements in popular programming languages like Go. The integration of Go with AppMaster can speed up backend applications' development, offering enhanced scalability and cost-effectiveness. Go 1.19 brings substantial improvements to boost performance, security, and developer experience, strengthening its position as a vital tool for modern software development.