Útgáfa Go forritunarmálsins 1.16

Kynnt er útgáfa Go 1.16 forritunarmálsins, sem er þróað af Google með þátttöku samfélagsins sem blendingslausn sem sameinar mikla afköst samsettra tungumála með kostum forskriftarmála eins og auðveld ritun kóða. , þróunarhraði og villuvörn. Verkefniskóðanum er dreift undir BSD leyfinu.

Setningafræði Go er byggð á kunnuglegum þáttum C tungumálsins með nokkrum lántökum frá Python tungumálinu. Tungumálið er frekar hnitmiðað en kóðinn er auðlesinn og auðskilinn. Go kóði er settur saman í sjálfstæðar tvöfaldar keyrsluskrár sem keyra innfæddar án þess að nota sýndarvél (prófíling, kembiforrit og önnur undirkerfi fyrir uppgötvunarvandamál eru samþætt sem keyrsluhlutar), sem gerir kleift að sambærileg afköstum og C forritum.

Verkefnið er upphaflega þróað með það fyrir augum að fjölþráða forritun og skilvirkan rekstur á fjölkjarna kerfum, þar á meðal að veita rekstraraðila aðferðum til að skipuleggja samhliða tölvuvinnslu og samspil milli samhliða framkvæmda aðferða. Tungumálið veitir einnig innbyggða vörn gegn ofúthlutuðum minnisblokkum og veitir möguleika á að nota sorphirðu.

Helstu nýir eiginleikar kynntir í Go 1.16:

  • Bætti við embed pakkanum, sem veitir verkfæri til að fella inn handahófskenndar skrár og möppur í forritið. Ný "//go:embed" tilskipun er til staðar til að tilgreina skrár sem á að fella inn við þýðingu. Til dæmis, að tilgreina „//go:embed test.txt“ í kóða athugasemdinni og lýsa síðan yfir breytuna „var f embed.FS“ mun leiða til innfellingar á test.txt skránni og getu til að fá aðgang að henni í gegnum „ f” lýsingu. Á svipaðan hátt geturðu fellt inn skrár með tilföngum eða einstökum gildum af ákveðinni gerð sem eru nauðsynleg fyrir vinnu, til dæmis til að fá strengjabreytuna "s" úr version.txt skránni, þú getur tilgreint: import _ "embed ” //go:embed version.txt var s string print (s)
  • Sjálfgefið er að nýja einingakerfið með samþættum útgáfustuðningi er nú krafist, sem kemur í stað GOPATH-byggða ávanastjórnunar. Umhverfisbreytan GO111MODULE er nú sjálfgefið stillt á „on“ og einingahamur er notaður óháð því hvort go.mod skrá sé til staðar í vinnu- eða móðurskránni. Í nýja hamnum breyta smíðaskipanir eins og „fara að byggja“ og „fara í próf“ ekki innihaldi go.mod og go.sum, og „fara að setja upp“ skipunina vinnur útgáfurök (“fara að setja dæmi.com/)[netvarið]"). Til að skila gömlu hegðuninni skaltu breyta GO111MODULE í „sjálfvirkt“. Það er tekið fram að 96% þróunaraðila hafa þegar skipt yfir í nýja einingakerfið.
  • Tengillinn hefur verið fínstilltur. Fyrir stór verkefni er skipulag nú 20-25% hraðari og krefst 5-15% minna minni.
  • Þýðandinn hefur bætt við stuðningi við innbyggða stækkun aðgerða með styttum skilgreiningum á „fyrir“ lykkjum, aðferðagildum og „tegundarskipta“ byggingu.
  • Bætti við stuðningi við Apple kerfi með nýja Apple M1 ARM flís. Bætt við netbsd/arm64 og openbsd/mips64 tengi með stuðningi fyrir NetBSD á 64 bita ARM og OpenBSD á MIPS64 kerfum. Bætti við stuðningi fyrir cgo og „-buildmode=pie“ haminn við linux/riscv64 tengið.
  • Stuðningur við x87 safnstillingu hefur verið hætt (GO386=387). Stuðningur við SSE2 kennslulausa örgjörva er nú fáanlegur í gegnum „GO386=softfloat“ hugbúnaðarhaminn.

Að auki getum við tekið eftir byrjuninni á að prófa beta útgáfuna af Dart 2.12 tungumálinu, þar sem öruggur háttur til að nota „Null“ gildi (nullöryggi) hefur verið stöðugur, sem mun hjálpa til við að forðast hrun af völdum tilrauna til að nota breytur sem gildi er óskilgreint og stillt á „Null“. Hátturinn gefur til kynna að breytur geti ekki haft núllgildi nema þeim sé sérstaklega úthlutað núllgildinu. Stillingin virðir nákvæmlega breytilegar tegundir, sem gerir þýðandanum kleift að beita viðbótarhagræðingum. Gerðarsamræmi er athugað við þýðingu, til dæmis, ef þú reynir að úthluta gildinu „Null“ til breytu með gerð sem gefur ekki til kynna óskilgreint ástand, eins og „int“, mun villa birtast.

Heimild: opennet.ru

Bæta við athugasemd