Go programazio hizkuntzaren bertsioa 1.14

Bidalita programazio lengoaia kaleratzea Joan 1.14, Google-k garatzen duena komunitatearen parte-hartzearekin konpilatutako lengoaien errendimendu altua eta scripting lengoaien abantailak konbinatzen dituen soluzio hibrido gisa, hala nola kodea idazteko erraztasuna, garapen-abiadura, eta akatsen babesa. Proiektuaren kodea arabera banatuta BSD lizentziapean.

Go-ren sintaxia C hizkuntzaren elementu ezagunetan oinarritzen da, Python hizkuntzaren mailegu batzuekin. Hizkuntza nahiko zehatza da, baina kodea irakurtzeko eta ulertzeko erraza da. Go kodea makina birtual bat erabili gabe natiboki exekutatzen diren fitxategi exekutagarri bitar autonomoetan konpilatzen da (profila, arazketa eta exekuzio garaiko arazoak hautemateko beste azpisistemak integratuta daude. exekuzio-denborako osagaiak), C hizkuntzako programen pareko errendimendua lortzeko aukera ematen duena.

Proiektua hasiera batean hari anitzeko programazioan eta nukleo anitzeko sistemen funtzionamendu eraginkorrari begira garatu da, operadore mailan inplementatutako bitartekoak eskaintzea barne, konputazio paraleloa eta paraleloki exekutatutako metodoen arteko elkarrekintza antolatzeko. Lengoaiak esleitutako memoria blokeen gainditzeen aurkako babes integratua eskaintzen du eta zabor biltzailea erabiltzeko gaitasuna eskaintzen du.

Nagusia berrikuntzak, Go 1.14 bertsioan aurkeztua:

  • "Joan" komandoko modulu-sistema berria erabilera orokorrerako prest dago, lehenespenez gaituta eta GOPATH-ren ordez menpekotasunen kudeaketarako gomendatzen da. Modulu sistema berriak bertsioen euskarria integratua, paketeak entregatzeko tresnak eta mendekotasunen kudeaketa hobetua ditu. Moduluekin, garatzaileak jada ez daude GOPATH zuhaitz baten barruan lan egiteari lotuta, bertsiodun mendekotasunak esplizituki defini ditzakete eta errepika daitezkeen eraikuntzak sor ditzakete.
  • Gehituta gainjarritako metodo multzo batekin interfazeak barneratzeko laguntza. Integratutako interfaze bateko metodoek orain dauden interfazeetako metodoen izen eta sinadura bera izan dezakete. Esplizituki deklaratutako metodoek lehen bezala bakarrak izaten jarraitzen dute.
  • "Atzeratu" adierazpenaren errendimendua hobetu da, zeinaren erabilera gaur egun geroratutako funtzio baten dei zuzena bezain azkarra da, eta horrek funtzioen abiarazte atzeratua erabiltzea ahalbidetzen du errendimenduaren araberako kodean.
  • Koroutinen (goroutine) prebentzio asinkronoa eskaintzen da - funtzio-deirik ez duten begizkek ezin dute programatzailearen blokeorik ekarri edo zabor bilketaren hasiera atzeratu.
  • Memoria-orriak esleitzeko sistemaren eraginkortasuna hobetu da, blokeo-gatazka nabarmen gutxiagorekin GOMAXPROCS balio handiak dituzten konfigurazioetan. Ondorioz, latentzia murriztu egin da eta errendimendua handitu egin da memoria bloke handien esleipen intentsibo paraleloarekin.
  • Blokeoak optimizatu dira eta testuinguru-aldaketen kopurua murriztu da denboran erabilitako barne tenporizadoreak exekutatzen direnean.Ondoren, time.Tick, net.Conn.SetDeadline funtzioak.
  • Go komandoan, "-mod=saltzailea" bandera lehenespenez gaituta dago erroan saltzaile-direktorio bat badago, hornitzaile jakin bati lotutako kanpoko mendekotasunak hornitzeko pentsatuta. "-mod=mod" marka bereizi bat gehitu da moduluak moduluen cachetik kargatzeko, "saltzaile" direktoriotik beharrean. Go.mod fitxategia irakurtzeko soilik bada, "-mod=readonly" bandera lehenespenez ematen da "saltzaile" goi-direktoriorik ez badago. "-modfile=fitxategia" marka gehitu da go.mod fitxategi alternatibo bat zehazteko, moduluaren erroko direktorioaren ordez.
  • GOINSECURE ingurune-aldagaia gehitu da go komandoa HTTPS behar ez dezan eta moduluak zuzenean kargatzean ziurtagiriaren egiaztapena saltatzeko.
  • Lehenespenez gaituta dagoen "-d=checkptr" marka gehitu da konpilatzailean, kodeak unsafe.Pointer erabiltzeko arauak betetzen dituela egiaztatzeko.
  • Pakete berria barne hash/maphash kriptografiakoak ez diren hash funtzioekin, byte-sekuentzia edo kate arbitrarioetarako hash taulak sortzeko.
  • Linux-en 64 biteko RISC-Vrako euskarria esperimentala gehitu da.
  • FreeBSDrako euskarria gehitu da 64 biteko ARM sistemetan.

Iturria: opennet.ru

Gehitu iruzkin berria