Tha foillseachadh cànan prògramadh Go 1.19 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 dà-chànanach fa leth 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.
Am measg nan atharrachaidhean san fhoillseachadh ùr:
- Chaidh obair a dhèanamh gus an taic airson gnìomhan coitcheann agus seòrsachan (generics) a chaidh a chur ris san fhoillseachadh mu dheireadh a gheurachadh, le cuideachadh bhon urrainn do leasaiche gnìomhan a mhìneachadh agus a chleachdadh a tha air an dealbhadh gus obrachadh le grunn sheòrsan aig an aon àm. Chaidh optimization a dhèanamh - tha coileanadh cuid de phrògraman a ’cleachdadh generics air a dhol suas 20%.
- Tha clàradh bheachdan air taic a chuir ri ceanglaichean, liostaichean, agus co-chòrdadh nas sìmplidh airson cinn a mhìneachadh. Bidh an goireas gofmt a’ toirt seachad cruth a bheir aire do chomasan leudaichte bheachdan le sgrìobhainnean API.
- Chaidh am modal cuimhne airson a’ chànan Go ath-sgrùdadh gus a bhith co-chòrdail ri modalan C, C ++, Java, JavaScript, Rust, agus cànanan Swift nach eil a’ toirt taic do luachan atamach cunbhalach leantainneach. Gus a dhèanamh nas fhasa luachan atamach a chleachdadh, tha am pasgan sioncranachaidh/atamach a’ tabhann seòrsaichean ùra leithid atomic.Int64 agus atomic.Pointer[T]. Cha tug atharrachadh a’ mhodail cuimhne buaidh air co-chòrdalachd le còd a chaidh a sgrìobhadh roimhe.
- Gus tèarainteachd a leasachadh, chan eil am modal os / exec a-nis a’ toirt aire do shlighean coimeasach nuair a thathar a’ leudachadh caochladair àrainneachd PATH (mar eisimpleir, nuair a thathar a’ dearbhadh slighe airson faidhle so-ghnìomhaichte, chan eilear a’ sgrùdadh an eòlaire gnàthach tuilleadh).
- Tha comas aig an neach-cruinneachaidh sgudail a-nis crìochan cuimhne bog a mhìneachadh, a tha air an cur an sàs le bhith a’ cuingealachadh meud an tiùrr agus a’ tilleadh cuimhne chun t-siostam nas ionnsaigheach, i.e. Chan eilear cinnteach gum bi caitheamh taobh a-staigh crìochan sònraichte fo gach suidheachadh. Faodaidh crìochan bog a bhith feumail airson prògraman a ruith ann an soithichean le meud cuimhne stèidhichte.
- Chaidh cuingealachadh togail ùr “unix” a chuir ris a ghabhas cleachdadh ann an loidhnichean “go:build” gus siostaman coltach ri Unix a shìoladh a-mach (aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris ).
- Chaidh grunn optimizations coileanaidh a chuir an gnìomh. Taic a bharrachd airson a bhith a’ suidheachadh meud stac coroutine gu dinamach gus meud dàta copaidh a lughdachadh. Air siostaman Unix, chaidh cleachdadh fèin-ghluasadach de thuairisgeulan faidhle a bharrachd a chuir an gnìomh (ag àrdachadh crìoch RLIMIT_NOFILE). Gus abairtean suidse mòr a luathachadh air siostaman x86-64 agus ARM64, thathas a’ cleachdadh bùird leum, a leigeas le abairtean suidse mòr a bhith air an giullachd suas gu 20% nas luaithe. Air siostaman riscv64, thèid argamaidean gnìomh a thoirt seachad tro chlàran CPU, a leigeas le àrdachadh coileanaidh timcheall air 10%.
- Taic deuchainneach a bharrachd airson àrainneachdan Linux air siostaman le pròiseasairean Loongson stèidhichte air ailtireachd 64-bit LoongArch (GOARCH = loong64).
Source: fosgailtenet.ru
