Go 1.19 je već izašao i ovo su njegove novosti

nedavno najavljen je izlazak nove verzije programskog jezika «Go 1.19»., verzija koja je poboljšana u odnosu na prethodno izdanje dodavanjem raznih poboljšanja i prije svega ispravcima grešaka.Od noviteta koje izdvajamo su poboljšanja u upravljanju memorijom, sigurnosna poboljšanja, između ostalog.

Za one koji su novi u Go-u, trebate znati da je ovo programski jezik koji je razvijen uz sudjelovanje zajednice kao hibridno rješenje koje kombinira visoke performanse kompiliranih jezika s prednostima kao što su skriptni jezici kao što su jednostavnost pisanja koda, razvoj i zaštita od bugova.

Sintaksa Go-a temelji se na uobičajenim elementima jezika C. uz neke posuđenice iz jezika Python. Jezik je prilično jezgrovit, ali je kod lako čitljiv i razumljiv.

Go kod se kompilira u zasebne binarne izvršne datoteke koji se izvode izvorno, bez korištenja virtualnog stroja (profiliranje, otklanjanje pogrešaka i drugi podsustavi za rješavanje problema u vremenu rada ugrađeni su kao komponente vremena izvođenja).

Glavne nove značajke Go 1.19

U ovoj novoj verziji Go 1.19 koja je predstavljena, istaknuto je da učinjen je rad na poboljšanju podrške za funkcije i generičke tipove dodano u najnovijoj verziji, uz pomoć koje programer može definirati i koristiti funkcije dizajnirane za rad s nekoliko tipova odjednom, plus optimizacija performansi nekih programa koji koriste generike je povećana za 20%.

Još jedna promjena koja se izdvaja od nove verzije je ta dodana podrška za veze, popise i jednostavniju sintaksu za definiranje zaglavlja u komentarima dokumenta. Uslužni program gofmt omogućuje oblikovanje s naprednim značajkama komentara na umu s API dokumentacijom.

Osim toga revidirani Go memorijski model za usklađivanje s C, C++, Javom, JavaScriptom, Rustom i Swiftom koji ne dopuštaju sekvencijalno dosljedne atomske vrijednosti. Nove vrste kao što su atomic.Int64 i atomic.Pointer[T] uvedene su u paket sync/atomic kako bi se olakšala upotreba atomskih vrijednosti.

S druge strane, također se spominje da skupljač smeća sada ima mogućnost definiranja mekih ograničenja, koji se provode ograničavanjem veličine hrpe i agresivnijim vraćanjem memorije u sustav, odnosno nije zajamčeno da će potrošnja biti unutar navedenih ograničenja pod svim uvjetima. Meka ograničenja mogu biti korisna za optimiziranje programa koji se izvode u fiksnim memorijskim spremnicima.

Također je istaknuto da na Unix sustavima automatski su omogućeni dodatni deskriptori datoteka (povećanje ograničenja RLIMIT_NOFILE), da bi se ubrzali izrazi velikih promjena na x86-64 i ARM64 sustavima, koriste se tablice skokova, koje omogućuju da se izrazi velikih promjena obrade do 20% brže.

Na riscv64 sustavima implementirano je prosljeđivanje funkcijskih argumenata preko CPU registara, što je omogućilo povećanje performansi od oko 10%.

Od ostalih promjena koji se ističu u ovoj novoj verziji:

  • Implementirane su brojne optimizacije performansi.
  • Dodana podrška za dinamičko postavljanje veličine snopa rutine kako bi se smanjila veličina kopiranih podataka
  • Dodana je eksperimentalna podrška za Linux okruženja na sustavima s Loongson procesorima koji se temelje na 64-bitnoj LoongArch arhitekturi (GOARCH=loong64).
  • Promjena modela memorije nije utjecala na kompatibilnost s prethodno napisanim kodom.
  • Dodano je novo "unix" ograničenje izgradnje koje se može koristiti u recima "go:build" za filtriranje sustava sličnih Unixu (aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris ).
  • Radi poboljšanja sigurnosti, os/exec modul sada zanemaruje relativne staze kada se proširuje varijabla okruženja PATH (na primjer, kada se određuje staza izvršne datoteke, trenutni direktorij se više ne provjerava).

Konačno, ako ste zainteresirani saznati više o ovom novom izdanju, pojedinosti možete provjeriti na sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.