Alu 1.22 faʻamalolo

O le tuʻuina atu o le Go 1.22 polokalame gagana o loʻo tuʻuina atu, lea o loʻo atiaʻe e Google faʻatasi ai ma le auai o le alalafaga o se fofo faʻafefiloi e tuʻufaʻatasia le maualuga o le faʻatinoina o gagana tuʻufaʻatasia ma le lelei o gagana tusitusi e pei o le faigofie o le tusitusi 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 Oberon. 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 faila faʻapipiʻi tutoʻatasi e taʻavale faʻapitoa, e aunoa ma le faʻaogaina o se masini komepiuta (faʻamatalaga, faʻapipiʻi modules, ma isi subsystems mo le faʻamaoniaina o faʻafitauli i le taʻavale ua 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.

Suiga i le faʻasalalauga fou e aofia ai:

  • Lagolago mo le faŹ»amalamalamaina o laina o numera ua faŹ»aopoopoina i "mo" matasele, mo se faŹ»ataŹ»itaŹ»iga, e faŹ»aoga i tau mai le 0 i le 9, e mafai nei ona e faŹ»aogaina le "mo i: = range 10 {...}" matasele.
  • Fa'aopoopoina le fa'ata'ita'iga (GOEXPERIMENT=rangefunc) lagolago mo galuega fa'atino mo fa'amaufa'ailoga, fa'atagaina oe e fa'amaoti se galuega e fai ma fa'amatalaga. Mo se fa'ata'ita'iga, "mo i, x := fasi vaega. I tua (s) {...}"
  • Fo'ia se fa'afitauli ua leva ona tu'u iai mo fa'agasolo na mafua ai ona vala'au i coroutines (goroutine) e fa'asoa fa'afeagai fesuia'i i fa'asologa. Mo se fa'ata'ita'iga, o le fa'ailoga numera:= [] manoa{"a", "b", "c"} mo _, v := tau aofa'i { go func() { fmt.Println(v) done < - true }() } o le a faŹ»aalia nei le "a", "b" ma le "c", ae le naŹ»o le "c", e pei ona sa iai muamua.
  • O le puleaina o mafaufauga i le taimi faŹ»atulagaina na faŹ»amalosia, lea na mafua ai le faŹ»atupulaia o le faŹ»atinoga e le 1-3% ma le faŹ»aitiitia o le faŹ»aaogaina o mafaufauga i le tele o talosaga e 1%.
  • O le galuega na faŹ»aauau pea ona aofia ai faŹ»ataŹ»itaŹ»iga i totonu o le tuŹ»ufaŹ»atasia e faŹ»avae i luga o taunuŹ»uga o le faŹ»asologa o faŹ»amatalaga (PGO - FaŹ»amatalaga-faŹ»atonuina o faŹ»ataŹ»itaŹ»iga), lea e mafai ai ona amanaŹ»ia mea na fuafuaina i le taimi o le polokalama. I le lomiga fou, o loŹ»o faŹ»aogaina e le tagata faŹ»apipiŹ»i mea faigaluega faŹ»aogaina e suitulaga ai le faŹ»aogaina o auala eseese ma le faŹ»atinoina o poloka faŹ»alauteleina i totonu.
  • Ina ua mafai PGO, o le suiga faaopoopo na faaleleia ai le faatinoga o le tele o polokalame e 2-14%.
  • O se faŹ»ataŹ»itaŹ»iga (GOEXPERIMENT=newinliner) faŹ»aleleia le faŹ»atinoga o le telefoni inlining mechanism ua faŹ»aopoopoina i le tuŹ»ufaŹ»atasia, faŹ»aaogaina heuristics e vavae ese ai galuega taua ma le le taua.
  • O le pusa "math/rand/v2" ua faaopoopo i le faletusi masani, lea e ofoina atu se API e sili atu le atoatoa ma faŹ»aaogaina algorithms vave mo le fausiaina o numera pseudo-random.
  • Ole upega/http.ServeMux afifi ua faŹ»aopoopoina le tomai e faŹ»amaonia ai metotia ma ufimata i faŹ»ataŹ»itaŹ»iga, mo se faŹ»ataŹ»itaŹ»iga, o le faŹ»ataŹ»itaŹ»iga "GET /static/{id}/" o le a faŹ»aaogaina i talosaga ma le HTTP method "GET" ma o le a teuina le tau o le vaega lona lua o le ala talosaga i le faŹ»amatalaga " id".
  • O le database / sql package ua faŹ»aopoopoina le lagolago mo le Null [T] ituaiga, e mafai ai ona e suŹ»eina koluma e mafai ona NULL. Fa'aopoopo le galuega Concat i le fasi fasi pepa mo le tu'ufa'atasia o fasi pepa se tele o so'o se ituaiga.
  • I faŹ»atonuga mo le galulue faŹ»atasi ma galuega (aoina o modules), e mafai ona faŹ»aogaina le lisi o le "faŹ»atau", lea e aofia ai faŹ»alagolago i mea o loŹ»o i totonu o le galuega. E faia le faŹ»atonuga pe a faŹ»atinoina le faŹ»atonuga o le "go work vendor" ma e faŹ»aaogaina i le fausiaina o tulafono pe a seti le filifiliga "-mod = faŹ»atau" (faŹ»atagaina pe a fai o loŹ»o i ai se lisi faŹ»atau).

Suiga i amioga aoga.

  • e le o toe lagolagoina le go get i fafo atu o se module i le talatuu GOPATH mode (e pei o le GO111MODULE=off). O isi tulafono faufale, e pei o le alu fau ma alu su'ega, o le a fa'aauau pea ona galue mo polokalame tu'ufa'atasi a le GOPATH e fa'avavau.
  • go mod init ua le toe taumafai e fa'aulufale mai mana'oga module mai faila fa'atulagaina mo isi meafaigaluega fa'atau (e pei o le Gopkg.lock).
  • go test -cover ua lolomi nei fa'amatalaga fa'amatalaga mo afifi ufiufi e leai ni a latou faila su'ega. A'o le'i alu i le 1.22, o le a alu e su'e lipoti mo sea afifi? mymod/mypack [leai ni faila su'ega]

    ma i le taimi nei e pei o le Go 1.22, o galuega i totonu o se afifi ua manatu e le o ufiufi: mymod/mypack kava: 0.0% o faʻamatalaga Faʻamatalaga: afai o se afifi e leai se tulafono faʻaogaina, e le mafai ona matou lipotia se pasene anoa o le inisiua; mo ia afifi, alu su'ega o le a fa'aauau ona lipotia faila su'ega misi.

  • O le upega tafaŹ»ilagi o le trace tool ua toe faŹ»afouina e avea o se vaega o le galuega e lagolago ai le tracer fou, faŹ»aleleia o nisi o faŹ»afitauli ma faŹ»aleleia atili le faitau o itulau eseese. O lo'o lagolagoina nei e le 'upega tafa'ilagi le su'esu'eina o fa'ailoga i se va'aiga saogalemu i filo. O lo'o fa'aalia nei fo'i e le tagata va'aiga fa'ailoga le umi atoa o vala'au uma. O nei fa'aleleia na'o le fa'aoga ile va'aiga o fa'ailoga na gaosia e polokalame na fausia ile Go 1.22 pe mulimuli ane. O se fa'asalalauga i le lumana'i o le a aumaia ai nisi o nei fa'aleleia i fa'ailoga na gaosia e le kopi tuai o le Go.
  • O lo'o teuina nei e le taimi fa'ata'ita'i metadata o le aoina o lapisi e latalata i mea fa'aputu ta'itasi. O lenei suiga e fa'aitiitia ai fo'i le manatua o le tele o polokalame a le Go e tusa ma le 1% e ala i le fa'ate'aina o metadata fa'aletonu. I nisi o polokalame e ono la'ititi le fa'aleleia aua o lenei suiga e fetu'una'i ai le lapo'a o le vasega o le fa'asoa manatua, ina ia mafai ai ona si'i nisi mea i se vasega maualuga. O le a'afiaga o lenei suiga, o tuatusi o nisi o mea sa masani ona fa'aogaina i luga o le 16-byte tuaoi (po'o le maualuga atu) o le a na'o le 8-byte tuaoi. O nisi polokalame o lo'o fa'aogaina fa'atonuga fa'apotopotoga e mana'omia ai tuatusi manatua e fa'aoga i luga o le 8 paita ma fa'alagolago i le fa'aogaina muamua o amioga a le fa'asoa manatua e ono le manuia, ae matou te fa'amoemoe e seasea lava ia polokalame. O ia polokalame e mafai ona fausia i GOEXPERIMENT=noallocheaders ma le filifiliga e toe foŹ»i i tua i le metadata faŹ»ataŹ»itaŹ»iga tuai ma toe faŹ»afoŹ»i le amio faŹ»atulagaina muamua, ae e tatau i tagata e ona pusa ona faŹ»afouina a latou faŹ»apotopotoga faŹ»apotopotoga e aloese ai mai le faŹ»aogaina o manatu, aua o le a aveesea lenei fofo i se faŹ»asalalauga i le lumanaŹ»i .
  • E pei ona taŹ»ua i le Go 1.20 faŹ»asalalauga faŹ»amatalaga, Go 1.22 o loŹ»o manaŹ»omia nei le faŹ»auŹ»uga mulimuli o le Go 1.20 poŹ»o mulimuli ane mo le fausiaina muamua. Matou te faŹ»amoemoe Go 1.24 e manaŹ»omia le faŹ»aiuga mulimuli o le Go 1.22 poŹ»o mulimuli ane mo le fausiaina muamua.
    Muamua (go.dev)

puna: linux.org.ru

FaŹ»atau talimalo faŹ»atuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers šŸ”„ Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster