Rach brath cànain prògramaidh 1.16

Tha foillseachadh cànan prògramadh Go 1.16 air a thaisbeanadh, a tha ga leasachadh le Google le com-pàirt na coimhearsnachd mar fhuasgladh tar-chinealach a tha a’ cothlamadh àrd-choileanadh chànanan cruinnichte le buannachdan leithid de chànanan sgrìobhaidh cho furasta ‘s a tha còd sgrìobhaidh. , astar leasachaidh agus dìon mhearachdan. Tha còd a’ phròiseict air a sgaoileadh 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 am faidhlichean so-ghnìomhaichte dà-chànanach a bhios a’ ruith gu dùthchasach gun a bhith a’ cleachdadh inneal brìgheil (pròifil, modalan deasbaid, agus fo-shiostaman lorg duilgheadas runtime eile air am filleadh a-steach mar cho-phàirtean runtime), a leigeas le coileanadh 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 fheartan ùra air an toirt a-steach ann an Go 1.16:

  • Chuir sinn ris a’ phacaid freumhachaidh, a bheir seachad innealan airson faidhlichean neo-riaghailteach agus seòlaidhean fhighe a-steach don phrògram. Tha stiùireadh ùr “// go:embed” air a thoirt seachad gus faidhlichean a shònrachadh a thèid an stèidheachadh aig àm cruinneachaidh. Mar eisimpleir, le bhith a’ sònrachadh “//go: embed test.txt” ann am beachd a’ chòd agus an uairsin ag ainmeachadh an caochladair “var f embed.FS” thig am faidhle test.txt a-steach agus an comas faighinn thuige tron ​​​​“ f” tuairisgeul. San aon dòigh, faodaidh tu faidhlichean fhighe a-steach le goireasan no luachan fa leth de sheòrsa sònraichte a tha riatanach airson obair, mar eisimpleir, gus an caochladair sreang “s” fhaighinn bhon fhaidhle version.txt, faodaidh tu sònrachadh: import _ “embed ” // go: embed version.txt var s sreang clò-bhualadh (ean)
  • Gu gnàthach, tha feum air an t-siostam modal ùr le taic dreach aonaichte a-nis, a’ dol an àite riaghladh eisimeileachd stèidhichte air GOPATH. Tha an caochladair àrainneachd GO111MODULE a-nis air a shuidheachadh gu "air adhart" gu bunaiteach agus tha modh mhodalan air a chleachdadh ge bith dè am faidhle go.mod a tha san eòlaire obrach no pàrant. Anns a’ mhodh ùr, tog àitheantan leithid “go build” agus “go test” na atharraich susbaint go.mod agus go.sum, agus bidh an àithne “go install” a’ pròiseasadh argamaidean dreach (“go install example.com/[post-d fo dhìon]"). Gus an seann ghiùlan a thilleadh, atharraich GO111MODULE gu “auto”. Thathas a’ toirt fa-near gu bheil 96% de luchd-leasachaidh air tionndadh chun t-siostam mhodalan ùr mu thràth.
  • Tha an ceangal air a mheudachadh. Airson pròiseactan mòra, tha an cruth a-nis 20-25% nas luaithe agus feumach air 5-15% nas lugha de chuimhne.
  • Tha an neach-cruinneachaidh air taic a chuir a-steach airson leudachadh in-loidhne air gnìomhan le mìneachaidhean giorraichte air lùban “airson”, luachan modh agus togail ‘seòrsa suidse’.
  • Taic a bharrachd airson siostaman Apple uidheamaichte leis a’ chip ùr Apple M1 ARM. Air a chur ris puirt netbsd / arm64 agus openbsd / mips64 le taic airson NetBSD air ARM 64-bit agus OpenBSD air siostaman MIPS64. Taic a bharrachd airson cgo agus am modh “-buildmode = pie” don phort linux/riscv64.
  • Chaidh stad a chuir air taic airson modh cruinneachaidh x87 (GO386 = 387). Tha taic airson pròiseasairean gun stiùireadh SSE2 a-nis ri fhaighinn tron ​​mhodh bathar-bog “GO386 = softfloat”.

A bharrachd air an sin, is urrainn dhuinn a thoirt fa-near gu bheil toiseach deuchainn air sgaoileadh beta cànan Dart 2.12, anns a bheil am modh sàbhailte airson an luach “Null” (sàbhailteachd null) a chleachdadh air a bhith seasmhach, a chuidicheas le bhith a’ seachnadh tubaistean air adhbhrachadh le oidhirpean caochladairean a chleachdadh. tha luach neo-mhìnichte agus air a shuidheachadh gu “Null”. Tha am modh a’ ciallachadh nach urrainn luachan null a bhith aig caochladairean mura tèid an luach null a thoirt dhaibh gu soilleir. Bidh am modh a’ toirt urram teann do sheòrsan caochlaideach, a leigeas leis an neach-cruinneachaidh optimizations a bharrachd a chuir an sàs. Bithear a’ sgrùdadh gèilleadh seòrsa aig àm cruinneachaidh, mar eisimpleir, ma dh’ fheuchas tu ris an luach “Null” a shònrachadh do chaochladair le seòrsa nach eil a’ ciallachadh staid neo-mhìnichte, leithid “int”, thèid mearachd a thaisbeanadh.

Source: fosgailtenet.ru

Cuir beachd ann