Útgáfa Go forritunarmálsins 1.14

Kynnt útgáfu forritunarmáls Fara 1.14, sem er þróað af Google með þátttöku samfélagsins sem blendingslausn sem sameinar mikla afköst samsettra tungumála við kosti forskriftarmála eins og auðveld ritun kóða, þróunarhraða og villuvörn. Verkefnakóði dreift af 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íundir keyrslur sem keyra innfæddar án þess að nota sýndarvél (sniður, kembiforrit og önnur undirkerfi til uppgötvunarvandamála eru samþætt sem runtime hluti), sem gerir þér kleift að ná frammistöðu sambærilegum við C forrit.

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ýjungarkynnt í Go 1.14 útgáfunni:

  • Nýja einingakerfið í "fara" skipuninni er lýst yfir tilbúið til almennrar notkunar, virkt sjálfgefið og mælt með því fyrir ávanastjórnun í stað GOPATH. Nýja einingakerfið býður upp á samþættan útgáfustuðning, pakkaafhendingarmöguleika og bætta ávanastjórnun. Með einingum eru forritarar ekki lengur bundnir við að vinna innan GOPATH trés, geta skýrt skilgreint útgefna ósjálfstæði og búið til endurteknar byggingar.
  • Bætt við stuðningur við að fella inn viðmót með aðferðum sem skarast. Aðferðir úr innbyggðu viðmóti geta nú haft sömu nöfn og undirskriftir og aðferðir í núverandi viðmótum. Skýrt yfirlýstar aðferðir eru einstakar eins og áður.
  • Frammistaða "fresta" tjáningarinnar hefur verið bætt, sem gerir það næstum jafn hratt og að hringja beint í frestað aðgerð, sem gerir frestað framkvæmd aðgerða í frammistöðuviðkvæmum kóða.
  • Ósamstilltur forgangur á coroutines (goroutines) er veittur - lykkjur sem innihalda ekki aðgerðarköll geta nú hugsanlega leitt til stöðvunar tímasetningar eða seinkað byrjun sorpsöfnunar.
  • Skilvirkni minnissíðuúthlutunarkerfisins hefur verið bætt og það eru nú verulega færri læsingardeilur í stillingum með stórum GOMAXPROCS-gildum. Niðurstaðan er minni leynd og aukin afköst á sama tíma og stórum minnisblokkum er dreift ákaft.
  • Læsing hefur verið fínstillt og fjöldi samhengisrofa hefur verið minnkaður þegar keyrt er innri tímamælir sem notaðir voru í aðgerðunum time.After, time.Tick, net.Conn.SetDeadline.
  • Í go skipuninni er „-mod=vendor“ fáninn virkur sjálfgefið ef það er söluaðilaskrá í rótinni, ætluð til að afhenda ytri ósjálfstæði tengd tilteknum seljanda. Bætti við sérstökum „-mod=mod“ fána til að hlaða einingar úr skyndiminni einingarinnar frekar en úr „vendor“ skránni. Ef go.mod skráin er skrifvarinn, er „-mod=readonly“ fáninn sjálfgefið stilltur ef það er engin efst „seljandi“ skrá. Bætt við "-modfile=file" fána til að tilgreina aðra go.mod skrá í stað þess sem er í rótarskrá einingarinnar.
  • Bætti við GOINSECURE umhverfisbreytunni, þegar hún er stillt, krefst go skipunin ekki notkunar á HTTPS og sleppir því að athuga vottorð þegar einingar eru hlaðnar beint.
  • Þýðandinn hefur bætt við „-d=checkptr“ fánanum, sem er sjálfgefið virkt, til að athuga kóða fyrir samræmi við reglur um örugga notkun á unsafe.Pointer.
  • Nýr pakki er innifalinn í afhendingu hass/maphash með kjötkássaaðgerðum sem ekki eru dulmáluð til að búa til kjötkássatöflur fyrir handahófskenndar bætiröð eða strengi.
  • Bætti við tilraunastuðningi fyrir 64 bita RISC-V vettvang á Linux.
  • Bætti við stuðningi við FreeBSD á 64 bita ARM kerfum.

Heimild: opennet.ru

Bæta við athugasemd