Google je izdal predogled nove različice programskega jezika Go. Različica 1.18 dodaja funkcionalnost za "generično" programiranje s tako imenovanimi "parametriziranimi" vrstami.
Po njihovih lastnih besedah je to najpomembnejša in največja sprememba programskega jezika od izdaje Go različice 1. Ideja generike je, da zdaj omogoča funkcionalnost za predstavljanje funkcij in podatkovnih struktur s spreminjanjem tipov. To izključuje "splošnost", ki jo dovoljuje definiranje tipa vmesnika kot načina za abstrahiranje dejanskih podatkov, ki se prenesejo v funkcijo.
Google navaja, da bi se morali razvijalci Go zavedati, da bo funkcionalnost nedvomno povzročila nove napake. Zato bi morali do teh „generikov“ pristopiti previdno.
Druge funkcije v Go 1.18 Beta
Poleg zgornje funkcionalnosti ima novi predogled tudi vgrajeno podporo za pisanje testov, ki temeljijo na fuzzingu. Ti testi lahko samodejno najdejo vhode, ki povzročijo zrušitev programov ali vrnejo neveljavne odgovore. Go 1.18 Beta ponuja tudi nov "način delovnega prostora Go". To omogoča programerjem, da delajo z več moduli Go hkrati. To je še posebej uporabno za velike projekte, pravi Google.
Poleg tega različica 1.18 Beta dodaja funkcionalnost z razširjenim ukazom go version -m. Ta ukaz zdaj shranjuje podrobnosti kot zastavice prevajalnika. Program lahko zdaj z ukazom debug.ReadBuildInfo poizveduje o lastnih podrobnostih gradnje.
V predogledu je bila dodana tudi več konvencija o klicih, ki temelji na registru, ki je na voljo od Go 1.17. Če je bila v prejšnji različici ta funkcionalnost primerna le za pospeševanje kode Go na sistemih x86 in x64, je zdaj primerna tudi za sisteme, ki temeljijo na ARM64 in PPC64. To naj bi zagotovilo do 20 odstotkov večjo hitrost.