Eisiúint na teanga ríomhchlárúcháin Go 1.18

Cuirtear i láthair scaoileadh na teanga cláir Go 1.18, atá á fhorbairt ag Google le rannpháirtíocht an phobail mar réiteach hibrideach a chomhcheanglaíonn ardfheidhmíocht na dteangacha tiomsaithe le buntáistí den sórt sin a bhaineann le teangacha scriptithe mar éascaíocht cód a scríobh. , luas na forbartha agus cosaint earráide. Déantar cód an tionscadail a dháileadh faoin gceadúnas BSD.

Tá comhréir Go bunaithe ar ghnéithe coitianta den teanga C le roinnt iasachtaí ón dteanga Python. Tá an teanga gonta go leor, ach is furasta an cód a léamh agus a thuiscint. Tiomsaítear cód Go i gcomhaid inrite dénártha neamhspleácha a ritheann go dúchais gan úsáid a bhaint as meaisín fíorúil (tá próifíliú, modúil dífhabhtaithe, agus fochórais braite fadhbanna ama rite eile comhtháite mar chomhpháirteanna am rite), a cheadaíonn feidhmíocht atá inchomparáide le cláir C.

Forbraítear an tionscadal ar dtús le súil ar ríomhchlárú il-snáithe agus ar oibriú éifeachtach ar chórais illárnacha, lena n-áirítear modhanna a sholáthar ar leibhéal an oibreora chun ríomhaireacht chomhthreomhar agus idirghníomhú idir modhanna comhleor-ghníomhaithe a eagrú. Soláthraíonn an teanga cosaint ionsuite freisin i gcoinne bloic chuimhne ró-leithdháilte agus soláthraíonn sé an cumas bailitheoir truflais a úsáid.

Cuireann an leagan nua tacaíocht le feidhmeanna agus cineálacha cineálacha (cineálachas), le cabhair óna bhféadfaidh forbróir feidhmeanna atá deartha chun oibriú le cineálacha éagsúla a shainiú agus a úsáid ag an am céanna. Is féidir comhéadain a úsáid freisin chun comhchineálacha a chruthú a chuimsíonn cineálacha éagsúla sonraí. Cuirtear tacaíocht le haghaidh cineálacha i bhfeidhm gan comhoiriúnacht siar leis an gcód reatha a bhriseadh. // Luachanna socraithe suime, oibreacha do chineálacha int64 agus float64 func SumIntsOrFloats[K inchomparáide, V int64 | float64](m léarscáil[K]V) V { var s V le haghaidh _, v := raon m { s += v } fill s } // Rogha eile le sainmhíniú cineálach: cineál Comhéadan uimhreach { int64 | float64 } feidhm SuimUimhir[K inchomparáide, V Uimhir](m léarscáil[K]V) V { var s V le haghaidh _, v := raon m { s += v } aischuir s }

Feabhsuithe eile:

  • Comhtháthaítear fóntais do thástáil chóid doiléir isteach san fhoireann uirlisí caighdeánach. Le linn tástála doiléir, gintear sruth de gach teaglaim randamach de shonraí ionchuir agus déantar teipeanna féideartha le linn a bpróiseála a thaifeadadh. Má bhuaileann seicheamh nó mura dtagann sé leis an bhfreagra a bhfuiltear ag súil leis, is mór an seans go léireoidh an t-iompar seo fabht nó leochaileacht.
  • Tacaíocht bhreise do spásanna oibre ilmhodúla, rud a ligeann duit orduithe a fhorghníomhú ar il-mhodúil ag an am céanna, rud a ligeann duit cód a thógáil agus a rith i modúil iolracha ag an am céanna.
  • Tá barrfheabhsuithe feidhmíochta suntasacha déanta do chórais atá bunaithe ar phróiseálaithe Apple M1, ARM64 agus PowerPC64. Cumasaíodh an cumas cláir a úsáid in ionad an chruach chun argóintí a chur ar aghaidh chuig feidhmeanna agus an toradh a thabhairt ar ais. Feabhas ar dhírollú lúb inlíne ag an tiomsaitheoir. Rinneadh seiceáil cineáil sa tiomsaitheoir a athdhearadh go hiomlán. Léiríonn roinnt tástálacha méadú 20% ar fheidhmíocht cód i gcomparáid leis an scaoileadh roimhe seo, ach tógann an tiomsú féin thart ar 15% níos faide.
  • In am rite, méadaíodh an éifeachtúlacht chun cuimhne saortha a thabhairt ar ais chuig an gcóras oibriúcháin agus feabhsaíodh oibriú an bhailitheora truflais, agus tá a iompar níos intuartha.
  • Tá pacáistí nua net/netip agus debug/buildinfo curtha leis an ngnáthleabharlann. Tá tacaíocht do TLS 1.0 agus 1.1 díchumasaithe de réir réamhshocraithe i gcód an chliaint. Tá deireadh curtha ag an modúl crypto/x509 le teastais arna síniú ag baint úsáide as an hash SHA-1 a phróiseáil.
  • Ardaíodh na ceanglais don chomhshaol i Linux; chun oibriú, ní mór duit eithne Linux a bheith agat anois de leagan 2.6.32 ar a laghad. Sa chéad scaoileadh eile, táthar ag súil le hathruithe den chineál céanna do FreeBSD (stopfar tacaíocht do bhrainse FreeBSD 11.x) agus beidh ar FreeBSD 12.2 ar a laghad oibriú.

Foinse: oscailtenet.ru

Add a comment