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
