Google je objavio pregled nove verzije programskog jezika Go. Verzija 1.18 dodaje funkcionalnost za 'generičko' programiranje s takozvanim 'parametariziranim' tipovima.
Njihovim vlastitim riječima, to je najvažnija i najveća promjena programskog jezika od izlaska Go verzije 1. Ideja koja stoji iza generika je da sada dopušta funkcionalnost za predstavljanje funkcija i struktura podataka modificiranjem tipova. To isključuje 'općenitu' dopuštenu definiranjem tipa sučelja kao načina apstrahiranja stvarnih podataka koji se donose funkciji.
Google ukazuje da bi programeri Go trebali shvatiti da će funkcionalnost nesumnjivo dovesti do novih bugova. Stoga bi ovim 'generičkim lijekovima' trebali pristupiti s oprezom.
Ostale funkcionalnosti u Go 1.18 Beta
Uz gornju funkcionalnost, novi pregled također ima ugrađenu podršku za pisanje testova temeljenih na fuzzingu. Ovi testovi mogu automatski pronaći ulaze koji uzrokuju rušenje programa ili vraćaju nevažeće odgovore. Go 1.18 Beta također nudi novi 'Go workspace mode'. To omogućuje programerima da rade s više Go modula istovremeno. To je, prema Googleu, osobito korisno za velike projekte.
Nadalje, verzija 1.18 Beta dodaje funkcionalnost s proširenom naredbom go version -m. Ova naredba sada pohranjuje detalje kao zastavice prevoditelja. Program sada može tražiti vlastite pojedinosti izrade naredbom debug.ReadBuildInfo.
Također, u pregled je dodano više konvencija o pozivanju temeljenih na registru, koje su dostupne od Go 1.17. Gdje je u prethodnoj verziji ova funkcionalnost bila prikladna samo za ubrzavanje Go koda na x86 i x64 sustavima, sada je također prikladna za ARM64 i PPC64 sustave. To bi trebalo osigurati do 20 posto više brzine.