Google објави преглед на новата верзија на програмскиот јазик Go. Верзијата 1.18 додава функционалност за „генеричко“ програмирање со таканаречените „параметриизирани“ типови.
Според нивните сопствени зборови, тоа е најважната и најголемата промена на програмскиот јазик од објавувањето на Go верзијата 1. Идејата зад генериката е дека тој сега дозволува функционалност за претставување на функции и структури на податоци со модифицирање на типовите. Ова ја исклучува „општоста“ дозволена со дефинирање на типот на интерфејс како начин за апстрактирање на вистинските податоци што се доведуваат во функција.
Google укажува дека програмерите на Go треба да сфатат дека функционалноста несомнено ќе доведе до нови грешки. Затоа, тие треба да им пристапат на овие „генерики“ со претпазливост.
Друга функционалност во Go 1.18 Beta
Покрај горенаведената функционалност, новиот преглед има и вградена поддршка за пишување тестови засновани на заматување. Овие тестови можат автоматски да најдат влезови што предизвикуваат паѓање на програмите или враќање на неважечки одговори. Go 1.18 Beta нуди и нов „Режим на работен простор Go“. Ова им овозможува на програмерите да работат со повеќе Go модули истовремено. Ова е особено корисно за големи проекти, според Google.
Понатаму, верзијата 1.18 бета додава функционалност со команда со продолжена верзија на оди -m. Оваа команда сега складира детали како знаменца на компајлерот. Една програма сега може да бара сопствени детали за изградбата со командата debug.ReadBuildInfo.
Исто така, повеќе конвенции за повикување базирани на регистри, достапни од Go 1.17, се додадени во прегледот. Онаму каде што во претходната верзија оваа функционалност беше погодна само за забрзување на Go кодот на системите x86 и x64, сега е погодна и за системи базирани на ARM64 и PPC64. Ова треба да обезбеди до 20 проценти поголема брзина.