Go 1.19 tashmë është lëshuar dhe këto janë të rejat e tij

kohët e fundit u njoftua lëshimi i versionit të ri të gjuhës së programimit «Go 1.19»., një version që përmirësohet në versionin e mëparshëm duke shtuar përmirësime të ndryshme dhe mbi të gjitha korrigjime të gabimeve.Nga risitë që mund të veçojmë janë përmirësimet në menaxhimin e memories, përmirësimet e sigurisë, ndër të tjera.

Për ata që janë të rinj në Go, duhet të dini se kjo është një gjuhë programimi që zhvillohet me pjesëmarrjen e komunitetit si një zgjidhje hibride që kombinon performancën e lartë të gjuhëve të përpiluara me avantazhe të tilla si gjuhët e shkrimit si p.sh. lehtësia e shkrimit të kodit, zhvillimi dhe mbrojtja nga gabimet.

Sintaksa e Go bazohet në elementet e zakonshme të gjuhës C. me disa huazime nga gjuha Python. Gjuha është mjaft e shkurtër, por kodi është i lehtë për t'u lexuar dhe kuptuar.

Kodi Go përpilohet në skedarë të veçantë binar të ekzekutueshëm që funksionojnë në mënyrë origjinale, pa përdorur një makinë virtuale (nënsistemet e profilizimit, korrigjimit dhe zgjidhjes së problemeve të kohës së ekzekutimit janë ndërtuar si komponentë të kohës së ekzekutimit).

Karakteristikat kryesore të reja të Go 1.19

Në këtë version të ri të Go 1.19 që prezantohet, theksohet se është bërë punë për të përmirësuar mbështetjen për funksionet dhe llojet e përgjithshme shtuar në versionin e fundit, me ndihmën e të cilit zhvilluesi mund të përcaktojë dhe përdorë funksione të krijuara për të punuar me disa lloje njëherësh, plus optimizimi i performancës së disa programeve që përdorin gjenerikë është rritur me 20%.

Një tjetër ndryshim që bie në sy nga versioni i ri është ai shtoi mbështetje për lidhje, lista dhe sintaksë më të thjeshtë për të përcaktuar titujt në komentet e dokumentit. Programi gofmt siguron formatimin me veçoritë e avancuara të komenteve në mendje me dokumentacionin API.

Përveç kësaj modeli i rishikuar i memories Go për t'u lidhur me C, C++, Java, JavaScript, Rust dhe Swift të cilat nuk pranojnë vlera të njëpasnjëshme atomike. Llojet e reja si atomic.Int64 dhe atomic.Pointer[T] janë futur në paketën sinkronizuese/atomike për ta bërë më të lehtë përdorimin e vlerave atomike.

Nga ana tjetër, përmendet gjithashtu se mbledhësi i plehrave tani ka aftësinë të përcaktojë kufij të butë, të cilat zbatohen duke kufizuar madhësinë e grumbullit dhe duke e kthyer kujtesën në sistem në mënyrë më agresive, domethënë, konsumi nuk garantohet të jetë brenda kufijve të specifikuar në të gjitha kushtet. Kufijtë e butë mund të jenë të dobishëm për optimizimin e programeve që funksionojnë në kontejnerë memorie fikse.

Theksohet gjithashtu se në sistemet Unix, përshkruesit shtesë të skedarëve aktivizohen automatikisht (duke rritur kufirin RLIMIT_NOFILE), për të shpejtuar shprehjet e ndryshimeve të mëdha në sistemet x86-64 dhe ARM64, përdoren tabelat e kërcimit, të cilat lejojnë që shprehjet e ndryshimeve të mëdha të përpunohen deri në 20% më shpejt.

Në sistemet riscv64, u zbatua kalimi i argumenteve të funksionit nëpërmjet regjistrave të CPU, gjë që lejoi një rritje të performancës me rreth 10%.

Nga ndryshimet e tjera që dallohen nga ky version i ri:

  • Janë zbatuar shumë optimizime të performancës.
  • Mbështetje e shtuar për përcaktimin dinamik të madhësisë së stivës rutinë për të zvogëluar madhësinë e të dhënave të kopjuara
  • U shtua mbështetje eksperimentale për mjediset Linux në sistemet me procesorë Loongson bazuar në arkitekturën 64-bit LoongArch (GOARCH=loong64).
  • Ndryshimi i modelit të kujtesës nuk ndikoi në përputhshmërinë me kodin e shkruar më parë.
  • U shtua një kufizim i ri ndërtimi "unix" që mund të përdoret në linjat "go:build" për të filtruar sistemet e ngjashme me Unix (aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris ).
  • Për të përmirësuar sigurinë, moduli os/exec tani injoron shtigjet relative kur zgjeron variablin e mjedisit PATH (për shembull, kur përcakton shtegun e një skedari të ekzekutueshëm, drejtoria aktuale nuk kontrollohet më).

Së fundi, nëse jeni të interesuar të mësoni më shumë rreth këtij versioni të ri, mund t'i kontrolloni detajet në lidhja e mëposhtme.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.