Go 1.22 telah pun dikeluarkan, ketahui tentang ciri baharu dan penambahbaikannya

goland

Go ialah bahasa pengaturcaraan serentak yang disusun dengan penaipan statik yang diilhamkan oleh sintaks C.

Versi baru dari Pergi 1.22, tiba enam bulan selepas versi 1.21, dengan beberapa perubahan ketara pada set alat, masa jalan, penambahbaikan pengoptimuman, penambahbaikan pengkompil dan perpustakaan.

Bagi mereka yang tidak tahu tentang Go, saya mesti memberitahu anda bahawa ini adalahIa adalah bahasa pengaturcaraan yang dibangunkan oleh Google dengan penyertaan komuniti sebagai penyelesaian hibrid yang menggabungkan prestasi tinggi bahasa yang disusun dengan kelebihan seperti bahasa skrip seperti kemudahan menulis kod, kelajuan pembangunan dan perlindungan terhadap ralat.

Ciri baru utama Go 1.22

Dalam versi baharu ini, yang diperkenalkan daripada Go 1.22, sorotan dua perubahan dalam gelung "untuk".Sebagai Sebelum ini, pembolehubah yang diisytiharkan oleh gelung for dicipta sekali dan telah dikemas kini dalam setiap lelaran. Dalam Go 1.22, setiap lelaran gelung mencipta pembolehubah baharu untuk mengelakkan ralat perkongsian secara tidak sengaja, sebagai tambahan Menambahkan sokongan percubaan (GOEXPERIMENT=rangefunc) untuk fungsi julat kepada untuk gelung, yang membolehkan anda menentukan fungsi sebagai iterator dan menyelesaikan isu lama dengan for loops yang menyebabkan panggilan coroutine berkongsi pembolehubah gelung antara lelaran. Selain itu, untuk gelung kini boleh gelung melalui integer. Sebagai contoh:

import utama pakej "fmt" func main() { untuk i := julat 10 { fmt.Println(10 - i) } fmt.Println("go1.22 berlepas!") }

Satu lagi perubahan ketara dalam versi baharu ini ialah pengenalan keupayaan untuk menggunakan direktori «penjual« yang mengandungi kebergantungan ruang kerja. Sekarang arahan anda boleh menggunakan direktori ini, yang dibuat dengan `pergi kerja vendor` dan digunakan dalam arahan binaan apabila ` ditetapkan-mod` dalam «penjual«, ini menjadi nilai lalai apabila direktori wujud «penjual» dalam ruang kerja.

Adalah penting untuk ambil perhatian bahawa fungsi `pergi ambil` tidak lagi disokong di luar modul dalam mod GOPATH diwarisi Walau bagaimanapun, arahan binaan lain seperti `pergi bina` dan `pergi ujian` Mereka akan terus bekerja selama-lamanya untuk program GOPATH warisan. Tambahan pula, perintah `pergi mod init` tidak lagi akan cuba mengimport keperluan modul daripada fail konfigurasi lain «“penjualan” (seperti Gopkg.lock).

Pergi 1.22 memperkenalkan a pakej baru io/tidak selamat yang menyediakan fungsi untuk berfungsi dengan penunjuk dan ingatan yang tidak selamat. Pakej ini menyediakan kaedah untuk menukar penunjuk kepada dan dari jenis selamat dan tidak selamat, serta untuk melaksanakan operasi salinan memori tanpa semakan sempadan.

Kerja terus memasukkan pengoptimuman dalam pengkompil berdasarkan hasil pPemprofilan kod PGO, dan adakah itu kini pengkompil menggunakan alat penyahvirtualan untuk menggantikan panggilan tidak langsung pelbagai kaedah dengan pelaksanaan blok sebaris diperluas. Apabila PGO didayakan, perubahan tambahan meningkatkan prestasi kebanyakan program sebanyak 2% hingga 14%.

Dalam versi Pergi ke Windows, program yang memaut atau memuatkan perpustakaan Pergi dibina dengan -buildmode=c-archive o -buildmode=c-shared kini boleh menggunakan API Windows Pengelogan Acara (ETW). melalui pakej baharu masa jalan / jejak y cangkuk jejak, yang melaksanakan protokol pengumpulan jejak peristiwa Go sebagai penyedia ETW.

Perubahan lain yang menonjol:

  • Perintah itu pergi ujian -cover kini mencetak ringkasan liputan untuk pakej dilindungi yang tidak mempunyai fail ujian sendiri.
  • os/exec, keupayaan untuk mentakrifkan atribut konteks telah ditambahkan, membolehkan anda menetapkan nilai seperti direktori kerja, pembolehubah persekitaran dan deskriptor fail input/output untuk arahan yang dilaksanakan.
  • Pengurusan memori yang dioptimumkan dalam masa jalan, menghasilkan peningkatan prestasi 1-3% dan pengurangan 1% dalam penggunaan memori untuk kebanyakan aplikasi.
  • El paquete bersih / http, fungsi telah ditambah CloseIdleConnections kepada klien HTTP, yang menutup semua sambungan terbiar yang telah digunakan klien baru-baru ini
  • Pelaksanaan percubaan yang lebih baik (GOEXPERIMENT=newinliner) mekanisme pemasukan panggilan telah ditambahkan pada pengkompil, yang menggunakan heuristik untuk memisahkan operasi penting daripada yang tidak penting.
  • Pakej telah ditambah » matematik/rand/v2 »ke perpustakaan standard, yang menawarkan API yang lebih konsisten dan menggunakan algoritma yang lebih pantas untuk menjana nombor pseudorandom.
  • El paquete net/http.ServeMux Menambah keupayaan untuk menentukan kaedah dan topeng dalam templat.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butirannya Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.