1 poin oleh GN⁺ 2025-02-15 | 1 komentar | Bagikan ke WhatsApp
  • Perubahan bahasa
    • Go 1.24 kini sepenuhnya mendukung type alias generik. Type alias dapat menerima parameter seperti defined type.
  • Peningkatan performa
    • Berbagai peningkatan performa telah dilakukan pada runtime, menghasilkan penurunan overhead CPU rata-rata 2–3% pada benchmark yang representatif.
    • Termasuk implementasi map bawaan yang baru, peningkatan efisiensi alokasi memori untuk objek kecil, dan implementasi mutex internal runtime yang baru.
  • Peningkatan alat
    • Perintah go menyediakan mekanisme untuk melacak dependensi tool pada modul. Anda dapat menggunakan go get -tool untuk menambahkan direktif tool ke modul saat ini.
    • Analyzer pengujian baru pada subperintah go vet melaporkan kesalahan umum dalam deklarasi test, fuzzer, benchmark, dan example pada paket pengujian.
  • Penambahan pustaka standar
    • Pustaka standar mencakup mekanisme baru untuk kepatuhan FIPS 140-3, dan tidak memerlukan perubahan source code untuk menggunakan algoritme yang disetujui.
    • Beberapa paket yang sebelumnya ada di modul x/crypto kini tersedia di pustaka standar.
    • Benchmark kini dapat menggunakan metode testing.B.Loop yang lebih cepat dan lebih sedikit menimbulkan kesalahan.
    • Tipe os.Root yang baru menyediakan kemampuan untuk menjalankan operasi file system di bawah direktori tertentu.
    • Runtime menyediakan mekanisme cleanup baru bernama runtime.AddCleanup, yang lebih fleksibel, efisien, dan lebih sedikit rawan kesalahan dibanding runtime.SetFinalizer.
  • Peningkatan dukungan WebAssembly
    • Go 1.24 menambahkan direktif go:wasmexport yang memungkinkan program Go mengekspor fungsi ke host WebAssembly, serta mendukung build program Go sebagai WASI reactor/library.

1 komentar

 
GN⁺ 2025-02-15
Opini Hacker News
  • Sangat puas terutama dengan implementasi map yang lebih cepat dan text/template yang sekarang mendukung tipe fungsi
  • Go 1.23 memperkenalkan range untuk tipe fungsi, tetapi baru sekarang berfungsi di template Go
  • Penasaran apakah bisa menentukan tag yang akan dipakai saat memasang tool yang ditentukan oleh tool directive
    • Sudah dicoba, tetapi tidak berfungsi (terpasang tanpa tag)
    • Menggunakan go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
  • Penasaran apa use case untuk os.Root
    • Memahaminya sebagai sesuatu yang terkait keamanan
    • Karena secara internal tidak menggunakan Chroot, rasanya pada akhirnya seseorang akan menemukan cara untuk keluar dari Root
  • Membosankan, tapi suka
  • Paling menantikan flag tool yang baru
    • Akan bisa menghapus tools.go yang jelek
  • Saat memakai GODEBUG=fips140=only, algoritme kriptografi yang tidak mematuhi FIPS 140-3 akan mengembalikan error atau panic
    • Tidak suka dengan ide standard library yang sengaja memicu panic
    • Belum melihat kodenya, tetapi penasaran apakah ini hanya terjadi pada fungsi yang saat ini tidak mengembalikan error
  • Akhirnya, type alias generik yang sudah lama dinanti
  • Bagus! Sudah menantikan rilis ini karena GOAUTH
    • Semoga bekerja dengan repositori git pribadi jadi tidak terlalu merepotkan
    • Melihat go help goauth, jadi tidak berharap terlalu besar