Google zveřejnil náhled nové verze programovacího jazyka Go. Verze 1.18 přidává funkce pro „obecné“ programování s takzvanými „parametrizovanými“ typy.
Podle jejich vlastních slov je to nejdůležitější a největší změna programovacího jazyka od vydání verze Go 1. Myšlenka generiky je, že nyní umožňuje funkcionalitu pro reprezentaci funkcí a datových struktur úpravou typů. To vylučuje „obecnost“, kterou umožňuje definování typu rozhraní jako způsob abstrahování skutečných dat přiváděných do funkce.
Google naznačuje, že vývojáři Go by si měli uvědomit, že tato funkce nepochybně povede k novým chybám. Měli by proto k těmto „generikům“ přistupovat opatrně.
Další funkce v Go 1.18 Beta
Kromě výše uvedených funkcí má nový náhled také vestavěnou podporu pro psaní testů založených na fuzzingu. Tyto testy mohou automaticky najít vstupy, které způsobí selhání programů nebo vrátí neplatné odpovědi. Go 1.18 Beta také nabízí nový „režim pracovního prostoru Go“. To umožňuje programátorům pracovat s více Go moduly současně. To je podle Google užitečné zejména u velkých projektů.
Verze 1.18 Beta navíc přidává funkce s rozšířeným příkazem go verze -m. Tento příkaz nyní ukládá podrobnosti jako příznaky kompilátoru. Program se nyní může dotazovat na své vlastní detaily sestavení pomocí příkazu debug.ReadBuildInfo.
Do náhledu bylo také přidáno více konvence volání na základě registrů, která je k dispozici od Go 1.17. Zatímco v předchozí verzi byla tato funkcionalita vhodná pouze pro zrychlení kódu Go na systémech x86 a x64, nyní je vhodná i pro systémy založené na ARM64 a PPC64. To by mělo zajistit až o 20 procent vyšší rychlost.