Go programozási nyelv 1.17 kiadás

Bemutatják a Go 1.17 programozási nyelv kiadását, amelyet a Google fejleszt a közösség részvételével hibrid megoldásként, amely egyesíti a lefordított nyelvek nagy teljesítményét a szkriptnyelvek olyan előnyeivel, mint a kódírás egyszerűsége , a fejlesztés sebessége és a hibavédelem. A projekt kódja a BSD licenc alatt kerül terjesztésre.

A Go szintaxisa a C nyelv ismert elemein alapul, néhány kölcsönzés a Python nyelvből. A nyelvezet meglehetősen tömör, de a kód könnyen olvasható és érthető. A Go kódot önálló bináris végrehajtható fájlokba fordítják, amelyek natív módon futnak virtuális gép használata nélkül (a profilozó, hibakereső modulok és egyéb futásidejű problémák észlelésére szolgáló alrendszerek futásidejű összetevőként vannak integrálva), ami a C-programokhoz hasonló teljesítményt tesz lehetővé.

A projektet kezdetben a többszálú programozás és a többmagos rendszerek hatékony működésének szem előtt tartásával fejlesztették ki, beleértve a kezelői szinten megvalósított eszközök biztosítását a párhuzamos számítás és a párhuzamosan végrehajtott módszerek közötti interakció megszervezéséhez. A nyelv emellett beépített védelmet nyújt a lefoglalt memóriablokkok túllépése ellen, és lehetőséget biztosít a szemétgyűjtő használatára.

Az új verzió kisebb változtatásokat hajt végre a programozási nyelven, támogatja a Windows OS kiadását a 64 bites ARM architektúrához, és folytatja a fordító optimalizálását. Különösen az argumentumok függvényeknek való átadásának és az eredmények visszaadásának módszereit alakították át a fordítóban, ami lehetővé tette az alkalmazások teljesítményének átlagosan 5%-os növelését és a végrehajtható fájl méretének 2%-os csökkentését x86_64 architektúrájú rendszereken. A funkcionális változtatások között megemlítjük a nem biztonságos csomagban lévő új funkciók megvalósítását - nem biztonságos.Hozzáadás és nem biztonságos.Szelet a mutatókkal végzett biztonságos aritmetikai műveletekhez és a mutatók biztonságos szeletté konvertálásához, valamint a szeletek pointerekké alakításához szükséges eszközök megvalósítása egy tömbhöz.

Forrás: opennet.ru

Hozzászólás