Keluaran bahasa pengaturcaraan Go 1.23 dengan sokongan telemetri

Selepas enam bulan pembangunan, bahasa pengaturcaraan Go 1.23 telah dikeluarkan, yang sedang dibangunkan oleh Google dengan penyertaan komuniti sebagai penyelesaian hibrid yang menggabungkan prestasi tinggi bahasa yang disusun dengan kelebihan bahasa skrip seperti kemudahan menulis kod, kelajuan pembangunan dan keselamatan daripada ralat. Kod projek diedarkan di bawah lesen BSD.

Sintaks Go adalah berdasarkan unsur biasa bahasa C dengan beberapa pinjaman daripada bahasa Oberon. Bahasanya agak ringkas, tetapi kodnya mudah dibaca dan difahami. Kod Go disusun ke dalam fail boleh laku binari berasingan yang dijalankan secara asli, tanpa menggunakan mesin maya (profil, modul penyahpepijatan dan subsistem pengesanan masalah masa jalan lain disepadukan sebagai komponen masa jalan), yang membolehkan prestasi setanding dengan program C .

Projek ini pada mulanya dibangunkan dengan fokus kepada pengaturcaraan berbilang benang dan operasi yang cekap pada sistem berbilang teras, termasuk menyediakan cara peringkat operator untuk mengatur pengkomputeran selari dan interaksi antara kaedah yang dilaksanakan selari. Bahasa ini juga menyediakan perlindungan terbina dalam terhadap blok memori yang terlalu diperuntukkan dan menyediakan keupayaan untuk menggunakan pengumpul sampah.

Antara perubahan dalam keluaran baharu:

  • Dalam gelung "untuk" apabila mentakrifkan julat nilai, kini mungkin untuk menentukan fungsi sebagai hujah kepada ungkapan "julat" untuk menggunakan fungsi ini sebagai lelaran, yang membolehkan anda mencipta iterator anda sendiri untuk sebarang jujukan. Adalah mungkin untuk menentukan fungsi jenis berikut: func(func() bool), func(func(K) bool) dan func(func(K, V) bool). Pakej iter baharu telah ditambah, yang menyediakan operasi asas untuk mengatur lelaran jujukan. Selain itu, ciri baharu untuk bekerja dengan iterator telah ditambahkan pada pakej kepingan dan peta. Sebagai contoh, untuk mengulangi kekunci tatasusunan bersekutu dalam bentuk diisih, anda kini boleh menentukan "untuk i, x := keping julat. Diisih(peta.Kekunci(m)) {…}".
  • Menambahkan sokongan awal (didayakan melalui GOEXPERIMENT=aliastypeparams) untuk menggunakan alias jenis dengan parameternya sendiri dalam fungsi generik, yang dengannya anda boleh mencipta fungsi untuk berfungsi dengan beberapa jenis sekaligus.
  • Toolkit ini mempunyai keupayaan terbina dalam untuk menghantar telemetri kepada pelayan telemetry.go.dev. Telemetri disimpan dalam fail boleh audit setempat dan hanya meliputi data tentang penggunaan toolkit (telemetri tidak ditambah pada aplikasi pengguna yang dikumpulkan menggunakan toolkit). Secara lalai, penghantaran telemetri ke pelayan luaran dinyahdayakan (ikut serta) dan mesti didayakan menggunakan arahan "aktifkan telemetri" yang baharu. Menghantar telemetri akan membantu mengenal pasti anomali dan tingkah laku luar biasa, menilai interaksi pembangun dengan toolkit dan memahami ciri mana yang paling diperlukan dan yang jarang digunakan. Statistik terkumpul dijangka akan membolehkan pemodenan toolkit, meningkatkan kecekapan dan kemudahan penggunaannya.
    Keluaran bahasa pengaturcaraan Go 1.23 dengan sokongan telemetri
  • Menambah arahan "go env -changed" untuk memaparkan hanya tetapan yang nilainya berbeza daripada nilai lalai.
  • Menambahkan arahan "go mod tidy -diff", yang membolehkan anda mengeluarkan perubahan dalam bentuk tampung dalam format diff dan bukannya membuat perubahan pada fail.
  • Menambahkan penganalisis versi pada arahan "go vet", menunjukkan item yang terlalu baharu untuk digunakan dalam versi Go yang dipilih. Sebagai contoh, penganalisis akan mengeluarkan amaran tentang menggunakan fungsi reflect.TypeFor yang diperkenalkan dalam versi 1.22 apabila cuba menggunakannya dalam modul yang menuntut sokongan untuk versi 1.21.
  • Pelaksanaan jenis masa.Pemasa dan masa.Ticker telah dipertingkatkan, dengan perubahan yang berkaitan dengan penimbalan dan pengoptimuman kutipan sampah.
  • Menambah pakej structs, yang mentakrifkan jenis untuk menukar sifat struktur.
  • Ditambah pakej unik dengan fungsi untuk kanonik nilai setanding.
  • Menambahkan sokongan untuk arahan godebug pada fail go.mod dan go.work untuk mengawal penyahpepijatan.
  • Menambah sokongan eksperimen untuk OpenBSD pada sistem RISC-V 64-bit (openbsd/riscv64). Sokongan yang dipertingkatkan Linux, macOS, ARM64, RISC-V dan WASI.
  • Prestasi pada seni bina i386 dan amd64 telah dipertingkatkan apabila PGO (Pengoptimuman berpandukan Profil) didayakan untuk mengambil kira ciri yang ditentukan semasa pelaksanaan program.

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster