Go 1.19 jau buvo išleistas ir tai yra jos naujienos

Neseniai buvo paskelbta apie naujos programavimo kalbos versijos „Go 1.19“ išleidimą, versija, patobulinta, palyginti su ankstesne versija, pridedant įvairių patobulinimų ir, svarbiausia, klaidų pataisymus. Iš naujovių, kurias galime išskirti, yra atminties valdymo patobulinimai, saugumo patobulinimai ir kt.

Tiems, kurie dar nesinaudojo Go, turėtumėte žinoti, kad tai programavimo kalba, kuri yra sukurta dalyvaujant bendruomenei kaip hibridinis sprendimas, kuris sujungia aukštą kompiliuotų kalbų našumą su privalumais, tokiais kaip scenarijų kalbos, pvz. kodo rašymo paprastumas, plėtra ir apsauga nuo klaidų.

Go sintaksė pagrįsta įprastais C kalbos elementais. su kai kuriais skoliniais iš Python kalbos. Kalba gana trumpa, tačiau kodą lengva skaityti ir suprasti.

„Go“ kodas yra kompiliuojamas į atskirus dvejetainius vykdomuosius failus kurios veikia natūraliai, nenaudojant virtualios mašinos (profiliavimo, derinimo ir kitos vykdymo laiko trikčių šalinimo posistemės yra įmontuotos kaip vykdymo laiko komponentai).

Pagrindinės naujos „Go 1.19“ funkcijos

Šioje pristatomoje naujoje Go 1.19 versijoje pabrėžiama, kad buvo atliktas darbas siekiant patobulinti funkcijų ir bendrųjų tipų palaikymą įtraukta į naujausią versiją, kurios pagalba kūrėjas gali apibrėžti ir naudoti funkcijas, skirtas dirbti su keliais tipais vienu metu, be to, 20% padidintas kai kurių programų našumo optimizavimas naudojant generinius vaistus.

Kitas iš naujos versijos išsiskiriantis pakeitimas yra tas pridėtas nuorodų, sąrašų ir paprastesnės sintaksės palaikymas dokumentų komentarų antraštėms apibrėžti. „gofmt“ programa suteikia formatavimą, atsižvelgdama į išplėstines komentarų funkcijas su API dokumentacija.

Be to peržiūrėtas „Go“ atminties modelis, kad būtų suderintas su C, C++, „Java“, „JavaScript“, „Rust“ ir „Swift“. kurios nepripažįsta nuosekliai nuoseklių atominių verčių. Nauji tipai, pvz., atomic.Int64 ir atomic.Pointer[T], buvo įtraukti į sinchronizavimo / atomo paketą, kad būtų lengviau naudoti atomines reikšmes.

Kita vertus, taip pat minima šiukšlių surinkėjas dabar turi galimybę nustatyti minkštąsias ribas, kurios vykdomos ribojant krūvos dydį ir agresyviau grąžinant atmintį į sistemą, tai yra negarantuojama, kad suvartojimas visomis sąlygomis neviršys nurodytų ribų. Minkšti apribojimai gali būti naudingi optimizuojant programas, kurios veikia fiksuotose atminties talpyklose.

Taip pat pabrėžiama Unix sistemose automatiškai įjungiami papildomi failų aprašai (padidinant RLIMIT_NOFILE limitą), siekiant pagreitinti didelių pakeitimų išraiškas x86-64 ir ARM64 sistemose, naudojamos šuolio lentelės, kurios leidžia iki 20% greičiau apdoroti didelių pakeitimų išraiškas.

Riscv64 sistemose buvo įdiegtas funkcijų argumentų perdavimas per procesoriaus registrus, todėl našumas padidėjo maždaug 10%.

Iš kitų pokyčių kurie išsiskiria iš šios naujos versijos:

  • Įdiegta daugybė našumo optimizavimų.
  • Pridėtas palaikymas dinamiškai nustatyti įprastą krūvos dydį, kad būtų sumažintas nukopijuotų duomenų dydis
  • Pridėtas eksperimentinis „Linux“ aplinkos palaikymas sistemose su „Loongson“ procesoriais, paremtais 64 bitų „LoongArch“ architektūra (GOARCH=loong64).
  • Atminties modelio keitimas neturėjo įtakos suderinamumui su anksčiau parašytu kodu.
  • Pridėtas naujas „unix“ kūrimo apribojimas, kuris gali būti naudojamas „go:build“ eilutėse, norint išfiltruoti į Unix panašias sistemas (aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris ).
  • Siekdamas pagerinti saugumą, os/exec modulis dabar ignoruoja santykinius kelius, kai plečia aplinkos kintamąjį PATH (pavyzdžiui, nustatant vykdomojo failo kelią, dabartinis katalogas nebetikrinamas).

Galiausiai, jei norite sužinoti daugiau apie šį naują leidimą, galite patikrinti išsamią informaciją adresu šią nuorodą.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.