Go programmeringssprÄk version 1.15

Introducerad programsprÄk release GÄ 1.15, som utvecklats av Google med deltagande av communityn som en hybridlösning som kombinerar den höga prestandan hos kompilerade sprÄk med fördelarna med skriptsprÄk, sÄsom enkel kod att skriva, utvecklingshastighet, och felskydd. Projektkod levererad av under BSD-licensen.

Syntaxen för Go Àr baserad pÄ de vÀlbekanta elementen i C-sprÄket med nÄgra lÄn frÄn Python-sprÄket. SprÄket Àr ganska kortfattat, men koden Àr lÀtt att lÀsa och förstÄ. Go-kod kompileras till fristÄende binÀra körbara filer som körs inbyggt utan att anvÀnda en virtuell maskin (profilering, felsökning och andra delsystem för upptÀckt av run-time problem Àr integrerade som körtidskomponenter), vilket gör att du kan uppnÄ prestanda som Àr jÀmförbar med program pÄ C-sprÄket.

Projektet Àr initialt utvecklat med sikte pÄ flertrÄdad programmering och effektiv drift pÄ flerkÀrniga system, inklusive tillhandahÄllande av medel implementerade pÄ operatörsnivÄ för att organisera parallell berÀkning och interaktion mellan parallellt exekverade metoder. SprÄket ger ocksÄ inbyggt skydd mot överskridningar av tilldelade minnesblock och ger möjlighet att anvÀnda sopsamlaren.

Den huvudsakliga innovationer, introducerad i Go 1.15-versionen:

  • LĂ€nkaren har förbĂ€ttrats avsevĂ€rt, bĂ„de vad gĂ€ller hastighet och minnesförbrukning, och vad gĂ€ller att förenkla kodunderhĂ„ll. Vid testning pĂ„ operativsystem som anvĂ€nder ELF-formatet för körbara filer (Linux(FreeBSD, NetBSD, OpenBSD, Dragonfly, Solaris) har lĂ€nkningen av en typisk uppsĂ€ttning stora Go-applikationer blivit 20 % snabbare, och minnesförbrukningen har minskat med 30 % i genomsnitt. Denna prestandaförbĂ€ttring möjliggjordes genom att byta till ett nytt objektfilformat och omarbeta interna steg för att öka parallelliteten. Den inbyggda lĂ€nkaren anvĂ€nds nu som standard pĂ„ Linux/amd64- och Linux/arm64-system i lĂ€get "-buildmode=pie", vilket inte lĂ€ngre krĂ€ver anvĂ€ndning av C-lĂ€nkaren.
  • I runtime har distributionen av smĂ„ objekt pĂ„ system med ett stort antal CPU-kĂ€rnor förbĂ€ttrats avsevĂ€rt, och latenserna har minskats. Vid fel matas nu vĂ€rden med numeriska och strĂ€ngtyper ut istĂ€llet för att visa adressen. NĂ€r SIGSEGV-, SIGBUS- och SIGFPE-signaler skickas till en Go-applikation, i frĂ„nvaro av en os/signal.Notify-hanterare, avslutas applikationen med stackspĂ„rningsutdata (tidigare var beteendet oförutsĂ€gbart).
  • Kompilatoroptimeringar utfördes som minskade storleken pĂ„ genererade körbara filer med i genomsnitt 5 % genom att ta bort inkluderingen av vissa skrĂ€pinsamlingsmetadata och mer aggressivt rensa upp oanvĂ€nda metadata.
  • Kompilatorn och assemblern har uppdaterats för att inkludera flaggan "-spectre" för att aktivera skydd mot Spectre-attacker (krĂ€vs inte för de flesta program, aktivering av alternativet kan bara vara motiverat för enskilda mycket specifika fall).
  • I X.509-certifikat har fĂ€ltet CommonName förĂ„ldrats och behandlas inte lĂ€ngre som ett vĂ€rdnamn om fĂ€ltet Alternativa namn för Ă€mne saknas.
  • Kommandot "go" kan nu lista flera proxyservrar i miljövariabeln GOPROXY, separerade med ett kommatecken eller symbolen "|". Om den första proxyn i listan returnerar ett fel (404 eller 410) kommer ett försök att kontakta den andra proxyn att göras, och sĂ„ vidare.
  • Lade till en varning i vet-verktyget vid försök att konvertera frĂ„n string(x) om "x" Ă€r en heltalstyp annan Ă€n rune eller byte.
  • Verktyget objdump har en "-gnu"-flagga tillagd för att stödja demontering av GNU-assemblersyntax.
  • Nytt paket tillagt tid/tzdata, vilket lĂ„ter dig integrera en databas med tidszonsdata i programmet.
  • FrĂ„n kĂ€llkod och dokumentation borttagen vitlista/svartlista och master/slave-fraser, vilka nu ersĂ€tts av "allowlist", "blocklist", "process", "pty", "proc" och "control".
  • Ett stort antal mindre förbĂ€ttringar har gjorts i standardbiblioteket.
  • Lade till stöd för OpenBSD 6.7 i lĂ€gena GOARCH=arm och GOARCH=arm64 (tidigare stöddes endast GOARCH=386 och GOARCH=amd64).
  • Utvecklingen av 64-bitars RISC-V-plattformen (GOOS=linux, GOARCH=riscv64) fortsatte.
  • För 32-bitars x86-system kommer nĂ€sta utgĂ„va att höja de lĂ€gsta systemkraven – endast processorer med SSE2 kommer att fortsĂ€tta stödjas. För att bygga i GOARCH=386-lĂ€ge behöver du minst en Intel Pentium 4 (slĂ€ppt 2000) eller AMD Opteron/Athlon 64 (slĂ€ppt 2003).

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster