Fa'asa'olotoina o le Go programming language 1.18

O le tuʻuina atu o le Go 1.18 polokalame gagana o loʻo tuʻuina atu, lea o loʻo atiaʻe e Google ma le auai o le alalafaga e avea o se fofo faʻafefiloi e tuʻufaʻatasia ai le maualuga o le faʻatinoina o gagana tuʻufaʻatasia ma le lelei o gagana tusitusi e pei o le faigofie o le tusiaina o code. , saoasaoa o le atinaʻe ma le puipuiga o mea sese. Ole fa'ailoga ole poloketi o lo'o tufatufaina i lalo ole laisene BSD.

Go's syntax e fa'avae i elemene masani o le gagana C ma nisi nono mai le gagana Python. O le gagana e fai si pu'upu'u, ae o le code e faigofie ona faitau ma malamalama. Go code ua tuʻufaʻatasia i faila faʻapipiʻi faʻapipiʻi tutoʻatasi e faʻatautaia e aunoa ma le faʻaogaina o se masini komepiuta (faʻasalalau, faʻapipiʻi modules, ma isi faʻalavelave faʻalavelave faʻalavelave faʻafuaseʻi o loʻo tuʻufaʻatasia e pei o vaega taʻavale), lea e mafai ai mo le faʻatinoga e faʻatusatusa i polokalame C.

O le poloketi o loʻo faʻavaeina muamua ma le mata i le tele-threaded polokalame ma le faʻaogaina lelei i luga o le tele-core system, e aofia ai le tuʻuina atu o auala faʻapitoa mo le faʻatulagaina o komipiuta tutusa ma fegalegaleaiga i le va o metotia faʻaogaina tutusa. O le gagana fo'i e tu'uina atu ai le puipuiga fa'apipi'i mai poloka fa'amamafa o lo'o tu'ufa'atasia ma maua ai le avanoa e fa'aoga ai se fa'aputu lapisi.

O le lomiga fou e faʻaopoopoina le lagolago mo galuega lautele ma ituaiga (generics), faʻatasi ai ma le fesoasoani lea e mafai ai e se tagata faʻapipiʻi ona faʻamalamalamaina ma faʻaogaina galuega faʻatulagaina e galulue ai i le tele o ituaiga i le taimi e tasi. E mafai fo'i ona fa'aoga feso'ota'iga e fai ai tu'aiga tu'ufa'atasi e fa'asolo i le tele o fa'amaumauga. Lagolago mo generics e faʻatinoina e aunoa ma le solia i tua o fesoʻotaʻiga ma code o iai. // Su'ega seti tulaga taua, e aoga mo int64 ma float64 ituaiga e aoga SumIntsOrFloats[K comparable, V int64 | float64](m faafanua[K]V) V { var s V mo _, v := vaeluaga m {s += v } toe fo'i s } // O le isi filifiliga e iai se fa'auigaga fa'aigoa lautele: type Numera interface { int64 | float64 } func SumNumbers[K fa'atusatusa, V Numera](m fa'afanua[K]V) V { var s V mo _, v := va'aiga m { s += v } toe fo'i s }

O isi fa'aleleia:

  • O fa'aoga mo su'ega fa'ailoga fuzzing o lo'o tu'ufa'atasia i le pusa meafaigaluega masani. I le taimi o su'ega fuzzing, e fa'atupuina se fa'asologa o tu'ufa'atasiga fa'afuase'i uma o fa'amatalaga fa'aoga ma fa'amaumau fa'aletonu i le taimi o le fa'agaioiga. Afai o se fa'asologa e pa'u pe le fetaui ma le tali fa'amoemoeina, o lenei amio e matua fa'ailoa mai ai se fa'aletonu po'o se fa'aletonu.
  • Faʻaopoopo le lagolago mo le tele-modular workspaces, faʻatagaina oe e faʻatino poloaiga i luga o le tele o modules i le taimi e tasi, faʻatagaina oe e fausia ma faʻatautaia code i le tele o modules.
  • Ua faia ni fa'ata'ita'iga taua mo faiga fa'avae ile Apple M1, ARM64 ma le PowerPC64 processors. Fa'aagaaga le mafai ona fa'aoga tusi resitala nai lo le fa'aputuga e pasi ai finauga i galuega ma toe fa'afo'i le taunu'uga. Fa'aleleia atili le tatalaina i totonu o le laina fa'amaufa'ailoga e le tagata fa'apipi'i. O le siakiina o ituaiga i totonu o le tu'ufa'atasi ua uma ona toe fa'atulagaina. O nisi o suʻega e faʻaalia ai le 20% o le faʻatupulaia o le faʻatinoga o code pe a faʻatusatusa i le faʻasalalauga muamua, ae o le tuʻufaʻatasiga lava ia e tusa ma le 15% le umi.
  • I le taimi o le taʻavale, ua faʻateleina le lelei o le toe faʻafoʻisia o manatuaga i le faiga faʻaogaina ma ua faʻaleleia le faʻaogaina o le lapisi lapisi, o le amio ua sili atu ona vaʻaia.
  • O afifi fou net/netip ma debug/buildinfo ua faaopoopo i le faletusi masani. Lagolago mo le TLS 1.0 ma le 1.1 ua le atoatoa ona o le faaletonu ile code client. O le crypto/x509 module ua taofia le faagasologa o tusi faamaonia na sainia e faaaoga ai le SHA-1 hash.
  • O manaʻoga mo le siosiomaga i Linux ua faʻatupuina; e galue, e manaʻomia nei ona e maua se fatu Linux a itiiti mai o le version 2.6.32. I le fa'asalalauga o lo'o soso'o mai, o suiga fa'apenei e fa'amoemoeina mo FreeBSD (lagolago mo le FreeBSD 11.x lala o le a fa'agata) ma a itiiti mai FreeBSD 12.2 o le a mana'omia e galue.

puna: opennet.ru

Faaopoopo i ai se faamatalaga