Google zverejnil ukážku novej verzie programovacieho jazyka Go. Verzia 1.18 pridáva funkcie pre „všeobecné“ programovanie s takzvanými „parametrizovanými“ typmi.
Podľa ich vlastných slov je to najdôležitejšia a najväčšia zmena v programovacom jazyku od vydania verzie Go 1. Myšlienkou generík je, že teraz umožňuje funkčnosť na reprezentáciu funkcií a dátových štruktúr úpravou typov. Toto vylučuje „všeobecnosť“, ktorú umožňuje definovanie typu rozhrania ako spôsob abstrahovania skutočných údajov prenášaných do funkcie.
Google naznačuje, že vývojári Go by si mali uvedomiť, že funkčnosť nepochybne povedie k novým chybám. Preto by mali k týmto „generikám“ pristupovať opatrne.
Ďalšie funkcie v Go 1.18 Beta
Okrem vyššie uvedenej funkcionality má nový náhľad aj vstavanú podporu pre písanie testov založených na fuzzingu. Tieto testy dokážu automaticky nájsť vstupy, ktoré spôsobujú zlyhanie programov alebo vracajú neplatné odpovede. Go 1.18 Beta ponúka aj nový „režim pracovného priestoru Go“. To umožňuje programátorom pracovať s viacerými modulmi Go súčasne. To je podľa Google užitočné najmä pri veľkých projektoch.
Verzia 1.18 Beta navyše pridáva funkčnosť s rozšíreným príkazom go version -m. Tento príkaz teraz ukladá podrobnosti ako príznaky kompilátora. Program sa teraz môže dotazovať na svoje vlastné detaily zostavy pomocou príkazu debug.ReadBuildInfo.
Do ukážky boli pridané aj ďalšie konvencie volania založené na registroch, ktoré sú k dispozícii od verzie 1.17. Zatiaľ čo v predchádzajúcej verzii bola táto funkcionalita vhodná len na zrýchlenie kódu Go na systémoch x86 a x64, teraz je vhodná aj pre systémy založené na ARM64 a PPC64. To by malo poskytnúť až o 20 percent vyššiu rýchlosť.