„Go“ programavimo kalbos išleidimas 1.13

Įvesta programavimo kalbos leidimas Eiti 1.13, kurį „Google“ kuria dalyvaujant bendruomenei kaip hibridinį sprendimą, kuris sujungia aukštą sudarytų kalbų našumą su scenarijų kalbų privalumais, tokiais kaip kodo rašymo paprastumas, kūrimo greitis ir apsauga nuo klaidų. Projekto kodas išplatino pagal BSD licenciją.

„Go“ sintaksė pagrįsta pažįstamais C kalbos elementais su kai kuriomis „Python“ kalbos skolinėmis. Kalba gana glausta, tačiau kodą lengva skaityti ir suprasti. „Go“ kodas yra kompiliuojamas į atskirus dvejetainius vykdomuosius failus, kurie veikia savaime nenaudojant virtualios mašinos (profiliavimo, derinimo ir kitos vykdymo laiko problemų aptikimo posistemės yra integruotos kaip vykdymo laiko komponentai), kuri leidžia pasiekti našumą, panašų į C programas.

Iš pradžių projektas buvo sukurtas atsižvelgiant į kelių gijų programavimą ir efektyvų daugelio branduolių sistemų veikimą, įskaitant operatoriaus lygio priemones, skirtas organizuoti lygiagretųjį skaičiavimą ir lygiagrečiai vykdomų metodų sąveiką. Kalba taip pat suteikia įmontuotą apsaugą nuo per daug paskirstytų atminties blokų ir suteikia galimybę naudoti šiukšlių rinktuvą.

pagrindinis naujovespristatytas Go 1.13 leidime:

  • crypto/tls pakete pagal numatytuosius nustatymus įjungtas protokolo palaikymas TLS 1.3. Pridėtas naujas paketas "crypto/ed25519" su Ed25519 skaitmeninių parašų palaikymu;
  • Pridėtas naujų skaitinių pažodinių priešdėlių palaikymas, siekiant apibrėžti dvejetainius skaičius (pvz., 0b101), aštuntąjį (0o377), įsivaizduojamą (2.71828i) ir šešioliktainį slankiojo kablelio (0x1p-1021), ir galimybė naudoti simbolį „_“ norint vizualiai atskirti skaitmenis. dideliais kiekiais (1_000_000);
  • Panaikintas apribojimas naudoti tik nepasirašytus skaitiklius atliekant pamainos operacijas, todėl išvengiama nereikalingo konvertavimo į uint tipą prieš naudojant „‹‹“ ir „››“ operatorius;
  • Pridėtas Illumos platformos palaikymas (GOOS=illumos). Suderinamumas su Android 10 platforma buvo padidintas. Padidinti reikalavimai minimalioms FreeBSD (11.2) ir macOS (10.11 „El Capitan“) versijoms.
  • Tęsiamas naujos modulių sistemos kūrimas, kuris gali būti naudojamas kaip alternatyva GOPATH. Priešingai nei anksčiau skelbti planai Go 1.13 versijoje, ši sistema neįjungta pagal numatytuosius nustatymus ir ją reikia suaktyvinti naudojant kintamąjį GO111MODULE=on arba kontekstą, kuriame moduliai taikomi automatiškai. Naujojoje modulių sistemoje yra integruotas versijų kūrimo palaikymas, paketų pristatymo galimybės ir patobulintas priklausomybės valdymas. Naudodami modulius kūrėjai nebėra susieti su darbu GOPATH medyje, gali aiškiai apibrėžti versijų priklausomybes ir kurti kartojamas versijas.

    Skirtingai nuo ankstesnių leidimų, automatinis naujos sistemos taikymas dabar veikia, kai failas go.mod yra dabartiniame darbiniame kataloge arba pirminiame kataloge, kai vykdoma komanda go, įskaitant tada, kai ji yra GOPATH/src kataloge. Įtraukti nauji aplinkos kintamieji: GOPRIVATE, apibrėžiantis viešai prieinamų modulių kelius ir GOSUMDB, nurodantis prieigos prie kontrolinės sumos duomenų bazės parametrus moduliams, kurie nėra išvardyti go.sum faile;

  • Komanda „eiti“ pagal numatytuosius nustatymus įkelia modulius ir tikrina jų vientisumą naudodama „Google“ palaikomą modulio veidrodį ir kontrolinės sumos duomenų bazę (proxy.golang.org, sum.golang.org ir index.golang.org);
  • Palaikymas tik dvejetainiams paketams buvo nutrauktas.
  • Prie komandos „go get“ pridėtas priesagos „@patch“ palaikymas, nurodantis, kad modulis turi būti atnaujintas iki naujausios priežiūros versijos, tačiau nekeičiant dabartinės pagrindinės ar papildomos versijos;
  • Gaunant modulius iš šaltinio valdymo sistemų, komanda „eiti“ dabar atlieka papildomą versijos eilutės patikrinimą, bandydama suderinti pseudoversijų numerius su metaduomenimis iš saugyklos;
  • Pridėta parama klaidų patikrinimas (klaidų apvyniojimas) sukuriant įvynioklius, leidžiančius naudoti standartines klaidų tvarkykles. Pavyzdžiui, klaida „e“ gali būti apvyniota aplink klaidą „w“, pateikiant metodą Išvyniokite, grąžina "w". Programoje galimos ir klaidos „e“, ir „w“, ir sprendimai priimami remiantis klaida „w“, tačiau „e“ suteikia papildomo konteksto „w“ arba interpretuoja jį skirtingai;
  • Buvo optimizuotas vykdymo laiko komponentų veikimas (pastebėtas greičio padidėjimas iki 30%) ir įdiegtas agresyvesnis atminties grąžinimas į operacinę sistemą (anksčiau atmintis buvo grąžinama po penkių ar daugiau minučių, o dabar iš karto sumažinus krūvos dydį).

Šaltinis: opennet.ru

Добавить комментарий