Mwepụta nke asụsụ mmemme Go 1.18

E weputara ntọhapụ nke asụsụ mmemme Go 1.18, nke Google na-emepụta ya na ntinye aka nke obodo dị ka ngwakọ ngwakọ nke na-ejikọta arụmọrụ dị elu nke asụsụ achịkọtara yana uru dị n'asụsụ scripting dị ka mfe nke koodu ederede. , ọsọ nke mmepe na nchedo njehie. A na-ekesa koodu ọrụ n'okpuru ikikere BSD.

Nkwekọrịta nke Go gbadoro ụkwụ na ihe ndị a ma ama nke asụsụ C nwere ụfọdụ mbiri sitere na asụsụ Python. Asụsụ ahụ dị nkenke, mana koodu ahụ dị mfe ịgụ na nghọta. A na-achịkọta koodu Go n'ime faịlụ ọnụọgụ abụọ nwere ike ịme naanị nke na-agba ọsọ na obodo na-ejighi igwe mebere (profiling, modul debugging, na usoro nchọpụta nsogbu oge ndị ọzọ na-ejikọta ya dị ka ihe ndị na-agba ọsọ ọsọ), nke na-enye ohere maka ịrụ ọrụ dị ka mmemme C.

A na-ebu ụzọ mepụta ọrụ ahụ site na anya na mmemme multi-threaded na ịrụ ọrụ nke ọma na sistemụ ọtụtụ isi, gụnyere ịnye ọkwa onye ọrụ maka ịhazi mgbakọ n'otu oge na mmekọrịta n'etiti ụzọ ndị a na-emekọ ihe. Asụsụ a na-enyekwa nchebe arụnyere n'ime ya pụọ ​​​​na ngọngọ ebe nchekwa ekenyela oke ma na-enye ike iji ihe mkpofu.

Ụdị ọhụrụ ahụ na-agbakwụnye nkwado maka ọrụ na ụdị (generics), site n'enyemaka nke onye mmepụta nwere ike ịkọwa ma jiri ọrụ ndị e mere iji rụọ ọrụ na ọtụtụ ụdị n'otu oge. Ọ dịkwa ike iji interfaces mepụta ụdị jikọtara ọnụ nke na-agafe ọtụtụ ụdị data. A na-emejuputa nkwado maka jeneriki na-emebighị ndakọrịta azụ na koodu dị. // Nchikota setịpụrụ ụkpụrụ, na-arụ ọrụ maka int64 na float64 ụdị func SumIntsOrFloats[K yiri, V int64 | float64](m map[K]V) V {var s V maka _, v := range m { s += v } nloghachi s } // Nhọrọ ọzọ nwere nkọwa ụdị ọnyà: ụdị ọnụọgụ ọnụọgụ { int64 | float64} func SumNumbers [K yiri, V Number](m map[K]V) V {var s V maka _, v := nso m {s += v } nloghachi s}

Nkwalite ndị ọzọ:

  • Ejikọtara akụrụngwa maka ule koodu fuzzing n'ime ngwa ngwa ọkọlọtọ. N'oge ule na-agbagwoju anya, a na-emepụta iyi nke mkpokọta data ntinye enweghị usoro yana na-edekọ ọdịda enwere ike n'oge nhazi ha. Ọ bụrụ na usoro daa ma ọ bụ adabaghị na nzaghachi a na-atụ anya ya, mgbe ahụ omume a nwere ike igosi ahụhụ ma ọ bụ adịghị ike.
  • Nkwado agbakwunyere maka oghere ọrụ multi-modular, na-enye gị ohere ịme iwu n'ọtụtụ modulu n'otu oge, na-enye gị ohere ịmepụta ma na-agba ọsọ koodu n'otu oge n'ime ọtụtụ modul.
  • Emeela nkwalite arụmọrụ dị mkpa maka sistemụ dabere na Apple M1, ARM64 na PowerPC64 processors. Kwanyere ikike iji ndekọ karịa nchịkọta iji nyefee arụmụka ka ọ rụọ ọrụ wee weghachi nsonaazụ. Mwepu ahịrị ahịrị emelitere loops site n'aka onye nchịkọta. Ụdị nlele ụdị na mkpokọta ka emezigharịrị kpamkpam. Ụfọdụ ule na-egosi mmụba 20% na arụmọrụ koodu ma e jiri ya tụnyere mwepụta gara aga, mana nchịkọta n'onwe ya na-ewe ihe dịka 15% ogologo.
  • N'ime oge ịgba ọsọ, arụmọrụ nke ịlaghachi ebe nchekwa nwere onwe ya na sistemụ arụ ọrụ abawanyela ma arụ ọrụ nke mkpofu ahịhịa na-emeziwanye, nke omume ya aghọwo ihe a na-ahụ anya.
  • agbakwunyere net/netip na debug/buildinfo ọhụrụ n'ọbá akwụkwọ ọkọlọtọ. Nkwado maka TLS 1.0 na 1.1 nwere nkwarụ site na ndabara na koodu ndị ahịa. Modul crypto/x509 akwụsịla nhazi asambodo ejiri SHA-1 hash bịanyere aka na ya.
  • Ewelitela ihe achọrọ maka gburugburu ebe obibi na Linux; ka ị rụọ ọrụ, ị ga-enwerịrị kernel Linux nke opekata mpe ụdị 2.6.32. Na ntọhapụ na-esote, a na-atụ anya mgbanwe ndị yiri nke ahụ maka FreeBSD (nkwado maka ngalaba FreeBSD 11.x ga-akwụsị) ma ọ dịkarịa ala FreeBSD 12.2 ga-achọ ka ọ rụọ ọrụ.

isi: opennet.ru

Tinye a comment