A Go 1.19 már megjelent, és ezek a hírek

nemrég bejelentették a «Go 1.19» programozási nyelv új verziójának kiadását, az előző kiadáshoz képest különböző fejlesztésekkel, és mindenekelőtt hibajavításokkal javító változat Az újdonságok közül kiemelhetjük többek között a memóriakezelés fejlesztését, a biztonsági fejlesztéseket.

Azok számára, akik most ismerkednek a Go-val, tudniuk kell, hogy ez egy olyan programozási nyelv, amelyet a közösség részvételével fejlesztettek ki hibrid megoldásként, amely egyesíti a lefordított nyelvek nagy teljesítményét olyan előnyökkel, mint például a szkriptnyelvek, mint pl. a kódírás egyszerűsége, fejlesztés és hibavédelem.

A Go szintaxisa a C nyelv szokásos elemein alapul. néhány kölcsön a Python nyelvből. A nyelvezet meglehetősen szűkszavú, de a kód könnyen olvasható és érthető.

A Go kód külön bináris futtatható fájlokba van fordítva amelyek natív módon futnak, virtuális gép használata nélkül (a profilozási, hibakeresési és egyéb futásidejű hibaelhárítási alrendszerek futásidejű összetevőként vannak beépítve).

A Go 1.19 fő újdonságai

A Go 1.19 bemutatott új verziójában kiemelték, hogy munkát végeztek a funkciók és általános típusok támogatásának finomításán a legfrissebb verzióval egészült ki, melynek segítségével a fejlesztő egyszerre több típussal való működésre tervezett függvényeket definiálhat és használhat, emellett 20%-kal nőtt egyes programok generikus felhasználásával történő teljesítményoptimalizálása.

Egy másik változás, amely kiemelkedik az új verzióból, az az hozzáadva a hivatkozások, listák és az egyszerűbb szintaxis támogatását fejlécek meghatározásához a dokumentum megjegyzéseiben. A gofmt segédprogram formázást biztosít a megjegyzések speciális funkcióinak szem előtt tartásával, az API dokumentációval.

Amellett átdolgozott Go memóriamodell, hogy igazodjon a C, C++, Java, JavaScript, Rust és Swift szabványokhoz amelyek nem fogadnak el szekvenciálisan konzisztens atomi értékeket. Új típusok, mint például az atomic.Int64 és az atomic.Pointer[T] kerültek be a sync/atomic csomagba, hogy megkönnyítsék az atomi értékek használatát.

Másrészt azt is megemlítik A szemétgyűjtő most már képes lágy határértékeket meghatározni, amelyeket a kupac méretének korlátozásával és a memória agresszívabb visszajuttatásával kényszerítenek ki, vagyis a fogyasztás nem minden körülmények között garantáltan a megadott határok között lesz. A lágy korlátok hasznosak lehetnek a rögzített memóriatárolókban futó programok optimalizálásához.

Azt is kiemelik Unix rendszereken a további fájlleírók automatikusan engedélyezve vannak (az RLIMIT_NOFILE korlát növelésével) az x86-64 és ARM64 rendszereken a nagy változási kifejezések felgyorsítására ugrótáblákat használnak, amelyek lehetővé teszik a nagy változási kifejezések akár 20%-kal gyorsabb feldolgozását.

A riscv64 rendszereken a függvényargumentumok CPU-regisztereken keresztül történő átadása valósult meg, ami körülbelül 10%-os teljesítménynövekedést tett lehetővé.

A többi változás közül amelyek kiemelkednek ebből az új verzióból:

  • Számos teljesítményoptimalizálást hajtottak végre.
  • Hozzáadott támogatás a rutin verem méretének dinamikus beállításához a másolt adatok méretének csökkentése érdekében
  • Kísérleti támogatás hozzáadva a Linux környezetekhez a 64 bites LoongArch architektúrán (GOARCH=loong64) alapuló Loongson processzorokkal rendelkező rendszereken.
  • A memóriamodell megváltoztatása nem befolyásolta a korábban megírt kóddal való kompatibilitást.
  • Új "unix" összeállítási korlátozás került hozzáadásra, amely a "go:build" sorokban használható a Unix-szerű rendszerek (aix, android, darwin, dragonfly, freebsd, hurd, illumos, ios, linux, netbsd, openbsd, solaris) kiszűrésére ).
  • A biztonság javítása érdekében az os/exec modul figyelmen kívül hagyja a relatív elérési utakat a PATH környezeti változó kiterjesztésekor (például egy végrehajtható fájl elérési útjának meghatározásakor az aktuális könyvtárat már nem ellenőrzi).

Végül, ha többet szeretne megtudni erről az új kiadásról, a részleteket itt tekintheti meg a következő link.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.