A Google kiadta a Go programozási nyelv új verziójának előzetesét. Az 1.18-as verzió funkcionalitást ad az úgynevezett „paraméterezett” típusú „általános” programozáshoz.
Saját szavaikkal ez a legfontosabb és legnagyobb változás a programozási nyelvben a Go 1-es verzió megjelenése óta. A generics mögött az az ötlet, hogy mostantól a típusok módosításával lehetővé teszi a funkciók és adatstruktúrák ábrázolását. Ez kizárja azt az „általánosságot”, amelyet az interfésztípus definiálása tesz lehetővé, amely a tényleges adatok absztrahálási módja egy függvényhez.
A Google azt jelzi, hogy a Go fejlesztőinek fel kell ismerniük, hogy a funkcionalitás kétségtelenül új hibákhoz vezet. Ezért óvatosan kell megközelíteniük ezeket a „generikus gyógyszereket”.
Egyéb funkciók a Go 1.18 béta verziójában
A fenti funkciókon túl az új előnézet beépített támogatással is rendelkezik a fuzzing alapú tesztek írásához. Ezek a tesztek automatikusan megtalálják azokat a bemeneteket, amelyek a programok összeomlását okozzák, vagy érvénytelen válaszokat adnak vissza. A Go 1.18 Béta új „Go munkaterület módot” is kínál. Ez lehetővé teszi a programozók számára, hogy egyidejűleg több Go modullal dolgozzanak. A Google szerint ez különösen nagy projekteknél hasznos.
Ezenkívül az 1.18-as béta verzió egy kiterjesztett go version -m paranccsal bővíti a funkciókat. Ez a parancs mostantól a részleteket fordítójelzőként tárolja. Egy program most lekérdezheti saját összeállításának részleteit a debug.ReadBuildInfo paranccsal.
Ezenkívül az előnézetben a Go 1.17 óta elérhető több regiszter alapú hívási konvenció is bekerült. Míg az előző verzióban ez a funkció csak a Go kód gyorsítására volt alkalmas x86 és x64 rendszereken, addig most már az ARM64 és PPC64 alapú rendszereken is. Ez akár 20 százalékkal nagyobb sebességet biztosít.