Rilis basa pemrograman Go 1.14

Dipuntepangaken release basa pemrograman Go 1.14, sing dikembangake dening Google kanthi partisipasi komunitas minangka solusi hibrida sing nggabungake kinerja dhuwur saka basa kompilasi kanthi kaluwihan basa skrip kayata gampang nulis kode, kacepetan pangembangan lan proteksi kesalahan. Kode proyek disebarake dening ing lisensi BSD.

Sintaks Go adhedhasar unsur akrab saka basa C kanthi sawetara pinjaman saka basa Python. Basane cukup ringkes, nanging kode kasebut gampang diwaca lan dingerteni. Kode Go dikompilasi dadi eksekusi binar mandiri sing mlaku kanthi asli tanpa nggunakake mesin virtual (profil, debugging, lan subsistem deteksi masalah runtime liyane digabungake minangka komponen runtime), sing ngidini sampeyan entuk kinerja sing bisa dibandhingake karo program C.

Proyek kasebut wiwitane dikembangake kanthi fokus program multi-threaded lan operasi sing efisien ing sistem multi-inti, kalebu nyedhiyakake sarana tingkat operator kanggo ngatur komputasi paralel lan interaksi antarane metode sing dieksekusi paralel. Basa kasebut uga nyedhiyakake proteksi sing dibangun marang pamblokiran memori sing diparengake lan menehi kemampuan kanggo nggunakake kolektor sampah.

Utama inovasidikenalakΓ© ing release Go 1.14:

  • Sistem modul anyar ing printah "go" diumumake siap kanggo panggunaan umum, diaktifake kanthi gawan, lan dianjurake kanggo manajemen dependensi tinimbang GOPATH. Sistem modul anyar nduweni fitur dhukungan versi terpadu, kapabilitas pangiriman paket, lan manajemen dependensi sing luwih apik. Kanthi modul, pangembang ora ana maneh kerja ing wit GOPATH, bisa kanthi jelas nemtokake dependensi versi, lan nggawe mbangun sing bisa diulang.
  • Ditambahake Dhukungan kanggo nanemake antarmuka kanthi cara sing tumpang tindih. Metode saka antarmuka sing dibangun saiki bisa duwe jeneng lan teken sing padha karo metode ing antarmuka sing wis ana. Cara sing diumumake kanthi jelas tetep unik kaya sadurunge.
  • Kinerja ekspresi "defer" wis apik, dadi meh cepet kaya nelpon fungsi sing ditundha langsung, ngidini eksekusi fungsi sing ditundha ing kode sing sensitif kinerja.
  • Preemption asynchronous coroutines (goroutine) diwenehake - puteran sing ora ngemot panggilan fungsi saiki bisa nyebabake deadlock panjadwal utawa tundha wiwitan pengumpulan sampah.
  • Efisiensi sistem alokasi kaca memori wis saya apik lan saiki ana konflik kunci sing luwih sithik ing konfigurasi kanthi nilai GOMAXPROCS sing gedhe. Asil suda latency lan tambah throughput nalika bebarengan intensif nyebarke pamblokiran memori gedhe.
  • Ngunci wis dioptimalake lan jumlah ngalih konteks wis suda nalika mbukak timer internal digunakake ing wektu. Sawise, time.Tick, net.Conn.SetDeadline fungsi.
  • Ing printah go, flag "-mod = vendor" diaktifake kanthi gawan yen ana direktori vendor ing ROOT, dimaksudakΓ© kanggo ngirim dependensi external disambungake menyang vendor tartamtu. Added kapisah "-mod = mod" flag kanggo mbukak modul saka cache modul tinimbang saka direktori "vendor". Yen file go.mod mung diwaca, flag "-mod = readonly" disetel kanthi gawan yen ora ana direktori "vendor" ndhuwur. Added "-modfile = file" flag kanggo nemtokake file go.mod alternatif tinimbang siji ing direktori ROOT modul kang.
  • Nambahake variabel lingkungan GOINSECURE, nalika disetel, printah go ora mbutuhake panggunaan HTTPS lan skip mriksa sertifikat nalika mbukak modul langsung.
  • Compiler wis ditambahakΓ© flag "-d = checkptr", diaktifake minangka standar, kanggo mriksa kode selaras karo aturan kanggo aman nggunakake unsafe.Pointer.
  • Paket anyar kalebu ing pangiriman hash/maphash kanthi fungsi hash non-kriptografi kanggo nggawe tabel hash kanggo urutan bait utawa senar sing sewenang-wenang.
  • Ditambahake dhukungan eksperimen kanggo platform RISC-V 64-bit ing Linux.
  • Ditambahake dhukungan kanggo FreeBSD ing sistem ARM 64-bit.

Source: opennet.ru

Add a comment