Ho lokolloa ha puo ea lenaneo la 1.18

Ho hlahisoa puo ea lenaneo la Go 1.18, e ntseng e ntlafatsoa ke Google ka ho nka karolo ha sechaba e le tharollo ea lebasetere e kopanyang ts'ebetso e phahameng ea lipuo tse hlophisitsoeng le melemo e joalo ea lipuo tsa mongolo joalo ka bonolo ba ho ngola khoutu. , lebelo la ntshetsopele, le tshireletso ya diphoso. Khoutu ea projeke e ajoa tlasa laesense ea BSD.

Syntax ea Go e ipapisitse le likarolo tse tloaelehileng tsa puo ea C ka likalimo tse ling tse tsoang puong ea Python. Puo e khuts'oane haholo, empa khoutu e bonolo ho e bala le ho e utloisisa. Khoutu ea Go e hlophisitsoe hore e be lifaele tse ikemetseng tsa binary tse sebetsang ka tlhaho ntle le ho sebelisa mochini o sebetsang (profiling, debugging modules, le li-subsystem tse ling tsa ho lemoha mathata a nako ea nako li kopantsoe e le likarolo tsa nako ea ho sebetsa), e lumellang ts'ebetso e ka bapisoang le mananeo a C.

Morero ona o qalisoa ka leihlo la mananeo a mefuta e mengata le ts'ebetso e sebetsang ho litsamaiso tse ngata tsa mantlha, ho kenyeletsoa ho fana ka mekhoa e kengoang ts'ebetsong boemong ba opareitara bakeng sa ho hlophisa komporo e ts'oanang le tšebelisano lipakeng tsa mekhoa e sebelisoang ka mokhoa o ts'oanang. Puo e boetse e fana ka tšireletso e hahelletsoeng ka har'a li-block tsa memori e abetsoeng 'me e fana ka bokhoni ba ho sebelisa moqolli oa lithōle.

Phetolelo e ncha e eketsa ts'ehetso bakeng sa mesebetsi e tloaelehileng le mefuta (li-generics), ka thuso eo moqapi a ka hlalosang le ho sebelisa mesebetsi e etselitsoeng ho sebetsa le mefuta e mengata ka nako e le 'ngoe. Hape hoa khoneha ho sebelisa li-interfaces ho theha mefuta e kopantsoeng e nang le mefuta e mengata ea data. Ts'ehetso ea li-generic e kenngoa ts'ebetsong ntle le ho senya ho lumellana le morao-rao le khoutu e teng. // Kakaretso e beha boleng, e sebeletsa mefuta ea int64 le float64 func SumIntsOrFloats[K comparable, V int64 | float64](m mapa[K]V) V { var s V bakeng sa _, v := range m { s += v } khutlisetsa s } // Kgetho e 'ngoe e nang le tlhaloso ea mofuta o tloaelehileng: mofuta oa sebopeho sa Nomoro { int64 | float64 } func SumNumbers[K comparable, V Number](m map[K]V) V { var s V for _, v := range m {s += v } return s }

Lintlafatso tse ling:

  • Lisebelisoa tsa tlhahlobo ea khoutu ea fuzzing li kenyelelitsoe ka har'a sesebelisoa se tloaelehileng sa lisebelisoa. Nakong ea liteko tsa fuzzing, ho na le mefuta e mengata e fapaneng e ka bang teng ea data e kentsoeng 'me liphoso tse ka bang teng nakong ea ts'ebetso ea tsona lia rekota. Haeba tatelano e soahlamana kapa e sa lumellane le karabelo e lebelletsoeng, mokhoa ona o kanna oa bontša phoso kapa kotsi.
  • Tšehetso e ekelitsoeng bakeng sa libaka tsa mosebetsi tse nang le mekhoa e mengata, e u lumellang hore u tsamaise litaelo ho li-module tse ngata ka nako e le 'ngoe, e leng se u lumellang hore ka nako e le' ngoe u hahe le ho tsamaisa khoutu ka li-module tse ngata.
  • Lintlafatso tse kholo tsa ts'ebetso li entsoe bakeng sa litsamaiso tse thehiloeng ho li-processor tsa Apple M1, ARM64 le PowerPC64. E nolofalitse bokhoni ba ho sebelisa lirejistante ho fapana le stack ho fetisetsa likhang ho mesebetsi le ho khutlisa sephetho. Ntlafatso e ntlafalitsoeng ea loops ka har'a mela ke moqapi. Ho hlahloba mofuta ka har'a komporo e hlophisitsoe bocha. Liteko tse ling li bonts'a keketseho ea 20% ea ts'ebetso ea khoutu ha e bapisoa le tokollo e fetileng, empa ho bokella ka boeona ho nka nako e telele ho feta 15%.
  • Nakong ea nako, katleho ea ho khutlisetsa mohopolo o lokolotsoeng tsamaisong ea ts'ebetso e eketsehile mme ts'ebetso ea moqokelli oa lithōle e ntlafalitsoe, boitšoaro ba bona bo seng bo le teng esale pele.
  • Liphutheloana tse ncha net/netip le debug/buildinfo li kentsoe laebraring e tloaelehileng. Ts'ehetso bakeng sa TLS 1.0 le 1.1 e emisitsoe ka ho sa feleng ho khoutu ea bareki. Mojule oa crypto/x509 o emisitse ho sebetsa litifikeiti tse saenneng ho sebelisoa SHA-1 hash.
  • Litlhoko tsa tikoloho ea Linux li phahamisitsoe; Khatisong e latelang, ho lebeletsoe liphetoho tse tšoanang bakeng sa FreeBSD (tšehetso bakeng sa lekala la FreeBSD 2.6.32.x e tla khaotsa) mme bonyane FreeBSD 11 e tla hlokeha ho sebetsa.

Source: opennet.ru

Eketsa ka tlhaloso