Te tukunga o te reo hootaka Haere 1.18

Ko te tukunga o te reo kaupapa Go 1.18 e whakaatuhia ana, kei te whakawhanakehia e Google me te whai waahi o te hapori hei otinga ranu e whakakotahi ana i nga mahi teitei o nga reo whakahiato me nga painga o nga reo tuhi hei ngawari ki te tuhi waehere. , tere o te whanaketanga me te tiaki hapa. Ka tohatohahia te waehere kaupapa i raro i te raihana BSD.

Ko te wetereo a Go i ahu mai i nga huānga taunga o te reo C me etahi nama mai i te reo Python. He tino poto te reo, engari he ngawari te panui me te mohio ki te waehere. Ka whakahiatohia te waehere Haere ki roto i nga konae kawe-rua-a-rua ka rere taketake me te kore e whakamahi i te miihini mariko (whakaahua, te patuiro i nga waahanga, me etahi atu punaha rapu raruraru wa-whakahaere kua whakauruhia hei waahanga wa whakahaere), e taea ai te mahi rite ki nga kaupapa C.

I whakawhanakehia te kaupapa i te tuatahi ma te titiro ki nga hotaka miro-maha me te mahi pai i runga i nga punaha maha-matua, tae atu ki te whakarato huarahi taumata-kaiwhakahaere mo te whakarite rorohiko whakarara me te taunekeneke i waenga i nga tikanga mahi whakarara. Ka whakarato hoki te reo i te whakamarumaru i roto i nga poraka mahara kua tohatohahia me te whai waahi ki te whakamahi i te kaikohi paru.

Ko te putanga hou he taapiri tautoko mo nga mahi me nga momo (generics), me te awhina e taea ai e te kaiwhakawhanake te tautuhi me te whakamahi i nga mahi i hangaia hei mahi me etahi momo i te wa kotahi. Ka taea hoki te whakamahi i nga atanga ki te hanga momo whakakotahi e hora ana i nga momo raraunga maha. Ka whakatinanahia te tautoko mo nga momo whanui me te kore e pakaru te hototahi whakamuri me te waehere o naianei. // Nga uara huinga huinga, mahi mo nga momo int64 me float64 mahi SumIntsOrFloats[K whakataurite, V int64 | float64](m mapi[K]V) V { var s V mo _, v := awhe m { s += v } hokinga s } // Ko tetahi atu whiringa me te momo momo whakamaarama: momo Tau atanga { int64 | float64 } func Tapeke Tau[K whakatairite, Tau V](m mapi[K]V) V { var s V mo _, v := awhe m { s += v } hokinga s }

Ētahi atu whakapainga:

  • Ko nga taputapu mo te whakamatautau i nga tohu tohu kua whakauruhia ki roto i te kete taputapu paerewa. I te wa e whakamatautauria ana, ka hangaia he rerenga o nga huinga matapōkere katoa o nga raraunga whakaurunga ka rekotia nga rahunga i te wa o te tukatuka. Mena ka pakaru te raupapa, kaore ranei i te rite ki te whakautu e tumanakohia ana, ka tohu pea tenei whanonga i tetahi pepeha, whakaraeraetanga ranei.
  • He tautoko taapiri mo nga mokowāmahi maha-modular, ka taea e koe te whakahaere i nga whakahau i runga i nga waahanga maha i te wa kotahi, ka taea e koe te hanga me te whakahaere waehere i roto i nga waahanga maha.
  • He nui nga arotautanga mahi kua mahia mo nga punaha e pa ana ki a Apple M1, ARM64 me PowerPC64 tukatuka. Whakahohehia te kaha ki te whakamahi i nga rehita hei utu mo te puranga ki te tuku tohenga ki nga mahi me te whakahoki i te hua. Kua pai ake te wetewete i te raarangi o nga koropiko e te kaitoi. Ko te taki momo i roto i te whakahiato kua oti te hoahoa ano. Ko etahi o nga whakamatautau e whakaatu ana i te 20% te pikinga o nga mahi waehere ka whakaritea ki te tukunga o mua, engari ko te whakahiatotanga ake e 15% te roa ake.
  • I te wa e mahi ana, kua piki ake te kaha o te whakahoki mahara kua wetekina ki te punaha whakahaere, kua pai ake te mahi a te kaikohi paru, kua kaha ake te maarama.
  • Ko nga kohinga hou net/netip me te debug/buildinfo kua taapirihia ki te whare pukapuka paerewa. Ko te tautoko mo te TLS 1.0 me te 1.1 kua monokia ma te taunoa i roto i te waehere kiritaki. Kua whakamutua e te kōwae crypto/x509 te tukatuka i nga tiwhikete kua hainatia ma te whakamahi i te hash SHA-1.
  • Ko nga whakaritenga mo te taiao i roto i te Linux kua hiki ake; ki te mahi, me whai koe i te kaara Linux o te iti rawa te putanga 2.6.32. I roto i te tukunga e whai ake nei, ko nga huringa rite mo FreeBSD (ka mutu te tautoko mo te manga FreeBSD 11.x) me te iti rawa ka hiahiatia a FreeBSD 12.2 ki te mahi.

Source: opennet.ru

Tāpiri i te kōrero