Rach brath cànain prògramaidh 1.13

Air a chuir a-steach le sgaoileadh cànan prògramadh Rach gu 1.13, a tha ga leasachadh le Google le com-pàirteachadh na coimhearsnachd mar fhuasgladh tar-chinealach a tha a’ cothlamadh àrd-choileanadh chànanan cruinnichte le buannachdan cànanan sgrìobhaidh leithid furasta còd sgrìobhaidh, astar leasachaidh agus dìon mhearachdan. Còd a ' phròiseact air a sgaoileadh le fo chead BSD.

Tha co-chòrdadh Go stèidhichte air eileamaidean eòlach den chànan C le cuid de iasadan bhon chànan Python. Tha an cànan gu math pongail, ach tha an còd furasta a leughadh agus a thuigsinn. Tha còd Go air a chur ri chèile ann an gnìomhan dà-chànanach a bhios a’ ruith gu dùthchasach gun a bhith a’ cleachdadh inneal brìgheil (pròifil, debugging, agus fo-shiostaman lorg duilgheadas runtime eile air am filleadh a-steach mar co-phàirtean runtime), a leigeas leat coileanadh a choileanadh a tha coltach ri prògraman C.

Tha am pròiseact air a leasachadh an toiseach le sùil ri prògramadh ioma-snàthainn agus obrachadh èifeachdach air siostaman ioma-cridhe, a’ toirt a-steach a bhith a’ toirt seachad dòighean aig ìre gnìomhaiche airson coimpiutaireachd co-shìnte a chuir air dòigh agus eadar-obrachadh eadar modhan cur an gnìomh co-shìnte. Tha an cànan cuideachd a’ toirt dìon a-staigh an-aghaidh blocaichean cuimhne a tha ro-riaraichte agus a’ toirt comas neach-cruinneachaidh sgudail a chleachdadh.

prìomh innleachdanair a thoirt a-steach ann am brath Go 1.13:

  • Tha taic protocol aig a’ phacaid crypto/tls air a chomasachadh gu bunaiteach TLS 1.3. Chaidh pasgan ùr "crypto/ed25519" a chur ris le taic airson ainmean-sgrìobhte didseatach Ed25519;
  • Taic a bharrachd airson ro-leasachain litireil àireamhach ùra gus àireamhan dà-chànanach a mhìneachadh (me 0b101), octal (0o377), mac-meanmna (2.71828i) agus puing fleòdraidh hexadecimal (0x1p-1021), agus an comas an caractar “_” a chleachdadh gus àireamhan a sgaradh gu fradharcach ann an àireamhan mòra (1_000_000);
  • Chaidh an cuingealachadh air a bhith a’ cleachdadh cunntairean gun ainm a-mhàin ann an gnìomhachd gluasad a thoirt air falbh, a tha a’ seachnadh atharrachaidhean neo-riatanach air an t-seòrsa uint mus cleachdar na gnìomhaichean “‹ ‹” agus “››”;
  • Taic a bharrachd airson àrd-ùrlar Illumos (GOOS = illumos). Chaidh co-chòrdalachd le àrd-ùrlar Android 10 a dhèanamh cinnteach. Chaidh na riatanasan airson na dreachan as ìsle de FreeBSD (11.2) agus macOS (10.11 “El Capitan”) àrdachadh.
  • Leasachadh leantainneach air an t-siostam mhodalan ùr, a ghabhas cleachdadh mar roghainn eile an àite GOPATH. Eu-coltach ri planaichean a chaidh ainmeachadh roimhe ann an Go 1.13, chan eil an siostam seo air a chomasachadh gu bunaiteach agus feumar a chuir an gnìomh tron ​​​​chaochladair GO111MODULE = air neo cleachdadh co-theacs anns a bheil modalan air an cur an sàs gu fèin-ghluasadach. Tha an siostam modal ùr a’ nochdadh taic dreach aonaichte, comasan lìbhrigidh pacaid, agus riaghladh eisimeileachd nas fheàrr. Le modalan, chan eil luchd-leasachaidh tuilleadh ceangailte ri bhith ag obair taobh a-staigh craobh GOPATH, is urrainn dhaibh eisimeileachd dreachd a mhìneachadh gu soilleir, agus togalaichean ath-aithris a chruthachadh.

    Eu-coltach ri fiosan roimhe, bidh cur an gnìomh an t-siostam ùr gu fèin-ghluasadach a-nis ag obair nuair a tha faidhle go.mod an làthair anns an eòlaire obrach gnàthach no san eòlaire phàrant nuair a bhios tu a’ ruith an àithne falbh, a’ toirt a-steach cuin a tha e san eòlaire GOPATH/src. Chaidh caochladairean àrainneachd ùra a chur ris: GOPRIVATE, a tha a 'mìneachadh slighean mhodalan a tha ruigsinneach don phoball, agus GOSUMDB, a tha a' sònrachadh crìochan ruigsinneachd don stòr-dàta checksum airson modalan nach eil air an liostadh san fhaidhle go.sum;

  • Bidh an àithne “falbh” gu bunaiteach a’ luchdachadh mhodalan agus a’ sgrùdadh an ionracas a’ cleachdadh sgàthan a’ mhodal agus an stòr-dàta checksum a tha Google a’ cumail (proxy.golang.org, sum.golang.org agus index.golang.org);
  • Chaidh stad a chuir air taic airson pasganan dà-chànanach a-mhàin; tha mearachd a-nis a’ leantainn gu bhith a’ togail pasgan sa mhodh “//go: binary-only-package”;
  • Taic a bharrachd airson an iar-leasachan “@patch” don àithne “go get”, a’ nochdadh gum bu chòir am modal ùrachadh chun sgaoileadh cumail suas as ùire, ach gun a bhith ag atharrachadh an dreach mòr no beag a th’ ann an-dràsta;
  • Nuair a bhios tu a’ faighinn mhodalan air ais bho shiostaman smachd stòr, bidh an àithne “falbh” a-nis a’ dèanamh sgrùdadh a bharrachd air an t-sreang dreach, a’ feuchainn ri àireamhan tionndadh meallta a mhaidseadh le meata-dàta bhon stòr;
  • Taic air a chur ris sgrùdadh mearachd (pasgadh mhearachdan) tro bhith a’ cruthachadh pasgain a leigeas le luchd-làimhseachaidh mhearachd àbhaisteach a chleachdadh. Mar eisimpleir, mearachd Faodar "e" a phasgadh timcheall air mearachd "w" le bhith a 'toirt seachad modh Unwrap, a' tilleadh "w". Tha an dà mhearachdan “e” agus “w” rim faighinn sa phrògram agus tha co-dhùnaidhean gan dèanamh stèidhichte air mearachd “w”, ach tha “e” a’ toirt co-theacs a bharrachd do “w” no ga mhìneachadh ann an dòigh eadar-dhealaichte;
  • Chaidh coileanadh cho-phàirtean runtime a bharrachadh (chaidh àrdachadh astair suas ri 30% a thoirt fa-near) agus chaidh tilleadh cuimhne nas ionnsaigheach chun t-siostam obrachaidh a chuir an gnìomh (roimhe seo, chaidh cuimhne a thilleadh às deidh còig mionaidean no barrachd, ach a-nis sa bhad às deidh meud a’ charn a lughdachadh).

Source: fosgailtenet.ru

Cuir beachd ann