Ngaleupaskeun basa pamrograman Go 1.14

Diwanohkeun release basa programming Buka 1.14, anu dikembangkeun ku Google kalayan partisipasi masarakat salaku solusi hibrida anu ngagabungkeun kinerja luhur basa anu disusun sareng kaunggulan basa skrip sapertos betah nyerat kode, laju pangembangan sareng panyalindungan kasalahan. Kodeu proyék disebarkeun ku handapeun lisénsi BSD.

Sintaksis Go dumasar kana unsur akrab tina basa C sareng sababaraha injeuman tina basa Python. Basana rada singket, tapi kodena gampang dibaca sareng kaharti. Kode Go disusun jadi executable binér anu mandiri anu dijalankeun sacara asli tanpa nganggo mesin virtual (profil, debugging, sareng subsistem deteksi masalah runtime sanésna diintegrasikeun salaku komponén runtime), nu ngidinan Anjeun pikeun ngahontal kinerja comparable jeung program C.

Proyék ieu mimitina dikembangkeun kalayan panon pikeun program multi-threaded sareng operasi efisien dina sistem multi-inti, kalebet nyayogikeun sarana tingkat operator pikeun ngatur komputasi paralel sareng interaksi antara metode anu dieksekusi paralel. Basa ogé nyadiakeun panyalindungan diwangun-di ngalawan blok memori leuwih-dialokasikeun sarta nyadiakeun kamampuhan pikeun ngagunakeun collector sampah.

utama inovasidiwanohkeun dina pelepasan Go 1.14:

  • Sistem modul anyar dina paréntah "go" dinyatakeun siap pikeun pamakéan umum, diaktipkeun sacara standar, sarta dianjurkeun pikeun manajemén kagumantungan tinimbang GOPATH. Sistem modul anyar gaduh dukungan versi terpadu, kamampuan pangiriman pakét, sareng manajemén kagumantungan anu ningkat. Kalayan modul, pamekar henteu deui kabeungkeut kana damel dina tangkal GOPATH, tiasa sacara eksplisit nangtukeun dependensi versi, sareng nyiptakeun gedong anu tiasa diulang.
  • Ditambahkeun rojongan pikeun embedding interfaces kalawan set tumpang tindihna métode. Métode tina antarbeungeut anu diwangun ayeuna tiasa gaduh nami sareng tanda tangan anu sami sareng metodeu dina antarmuka anu tos aya. Métode anu dinyatakeun sacara eksplisit tetep unik sapertos sateuacana.
  • Kinerja ekspresi "nunda" geus ningkat, sahingga ampir sagancangna nelepon hiji fungsi nunggak langsung, sahingga palaksanaan fungsi nunda dina kode sénsitip kinerja.
  • Preemption Asynchronous of coroutines (goroutines) disayogikeun - puteran anu henteu ngandung sauran fungsi ayeuna tiasa berpotensi ngakibatkeun deadlock jadwal atanapi ngalambatkeun ngamimitian pengumpulan sampah.
  • Efisiensi sistem alokasi halaman mémori parantos ningkat sareng ayeuna aya langkung seueur kontén konci dina konfigurasi kalayan nilai GOMAXPROCS anu ageung. Hasilna ngirangan latency sareng ningkat throughput bari sacara intensif nyebarkeun blok mémori anu ageung.
  • Ngonci geus dioptimalkeun sarta jumlah saklar konteks geus ngurangan nalika ngajalankeun timers internal dipaké dina time.After, time.Tick, net.Conn.SetDeadline fungsi.
  • Dina paréntah go, bendera "-mod = vendor" diaktipkeun sacara standar upami aya diréktori padagang dina akar, dimaksudkeun pikeun nganteurkeun katergantungan éksternal anu dihijikeun ka padagang khusus. Ditambahkeun hiji misah "-mod = Emod" bandéra pikeun beban modul ti cache modul tinimbang tina diréktori "ngajual". Upami file go.mod ngan ukur dibaca, bendera "-mod = readonly" disetel sacara standar upami teu aya diréktori "vendor" luhur. Ditambahkeun "-modfile = file" bendera pikeun nangtukeun hiji file go.mod alternatif tinimbang hiji di diréktori akar modul urang.
  • Ditambahkeun variabel lingkungan GOINSECURE, nalika disetél, paréntah go henteu meryogikeun panggunaan HTTPS sareng skips sertipikat mariksa nalika ngamuat modul langsung.
  • kompiler geus ditambahkeun "-d = checkptr" bandéra, diaktipkeun sacara standar, pikeun pariksa kode pikeun patuh aturan pikeun pamakéan aman unsafe.Pointer.
  • Paket anyar kalebet dina pangiriman hash / maphash kalayan fungsi hash non-kriptografis pikeun nyieun tabel hash pikeun urutan bait atawa string sawenang.
  • Ditambahkeun dukungan ékspérimén pikeun platform RISC-V 64-bit dina Linux.
  • Ditambahkeun dukungan pikeun FreeBSD dina sistem ARM 64-bit.

sumber: opennet.ru

Tambahkeun komentar