Rilis basa pemrograman Go 1.13

Dipuntepangaken release basa pemrograman Go 1.13, 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.13:

  • Paket crypto/tls nduweni dhukungan protokol sing diaktifake kanthi standar TLS 1.3. Ditambahake paket anyar "crypto / ed25519" kanthi dhukungan kanggo tandha digital Ed25519;
  • Dhukungan tambahan kanggo prefiks literal numerik anyar kanggo nemtokake angka biner (contone 0b101), oktal (0o377), khayalan (2.71828i) lan titik ngambang heksadesimal (0x1p-1021), lan kemampuan kanggo nggunakake karakter "_" kanggo misahake digit visual. ing jumlah gedhe (1_000_000);
  • Watesan kanggo nggunakake mung counter sing ora ditandatangani ing operasi shift wis dibusak, sing ngindhari konversi sing ora perlu menyang jinis uint sadurunge nggunakake operator "β€Ήβ€Ή" lan "β€Ίβ€Ί";
  • Dhukungan ditambahake kanggo platform Illumos (GOOS=illumos). Kompatibilitas karo platform Android 10 wis ditemtokake. Syarat kanggo versi minimal FreeBSD (11.2) lan macOS (10.11 "El Capitan") wis ditambah.
  • Terus pangembangan sistem modul anyar, sing bisa digunakake minangka alternatif kanggo GOPATH. Beda karo rencana sing diumumake sadurunge ing Go 1.13, sistem iki ora diaktifake kanthi standar lan mbutuhake aktivasi liwat variabel GO111MODULE=on utawa nggunakake konteks ing ngendi modul ditrapake kanthi otomatis. 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.

    Ora kaya rilis sadurunge, aplikasi otomatis sistem anyar saiki bisa digunakake nalika file go.mod ana ing direktori kerja saiki utawa direktori induk nalika nindakake perintah go, kalebu nalika ana ing direktori GOPATH/src. Variabel lingkungan anyar wis ditambahake: GOPRIVATE, sing nemtokake dalan modul sing bisa diakses umum, lan GOSUMDB, sing nemtokake paramèter akses menyang database checksum kanggo modul sing ora kadhaptar ing file go.sum;

  • Printah "go" kanthi standar ngemot modul lan mriksa integritas nggunakake pangilon modul lan database checksum sing dikelola Google (proxy.golang.org, sum.golang.org lan index.golang.org);
  • Dhukungan mung kanggo paket binar wis mandheg; mbangun paket ing mode "//go:binary-only-package" saiki nyebabake kesalahan;
  • Dhukungan ditambahake kanggo suffix "@patch" menyang printah "go njaluk", nuduhake yen modul kudu dianyari kanggo release pangopΓ¨nan paling anyar, nanging tanpa ngganti versi utama utawa suntingan saiki;
  • Nalika njupuk modul saka sistem kontrol sumber, printah "go" saiki nindakake mriksa tambahan ing string versi, nyoba kanggo cocog nomer pseudo-versi karo metadata saka repositori;
  • Dhukungan ditambahake mriksa kesalahan (kesalahan pambungkus) liwat nggawe pambungkus sing ngidini nggunakake handler kesalahan standar. Tuladhane, kesalahan "e" bisa dibungkus kesalahan "w" kanthi menehi cara Mbukak kunci, bali "w". Loro-lorone kasalahan "e" lan "w" kasedhiya ing program lan pancasan digawe adhedhasar kesalahan "w", nanging "e" menehi konteks tambahan kanggo "w" utawa kokwaca beda;
  • Kinerja komponen runtime wis dioptimalake (tambah kacepetan nganti 30% wis dicathet) lan bali memori sing luwih agresif menyang sistem operasi wis dileksanakake (sadurunge, memori bali sawise limang menit utawa luwih, nanging saiki langsung. sawise ngurangi ukuran tumpukan).

Source: opennet.ru

Add a comment