Google je objavio pregled nove verzije programskog jezika Go. Verzija 1.18 dodaje funkcionalnost za 'generičko' programiranje sa takozvanim 'parametrizovanim' tipovima.
Njihovim vlastitim riječima, to je najvažnija i najveća promjena programskog jezika od izdavanja Go verzije 1. Ideja koja stoji iza generika je da sada omogućava funkcionalnost za predstavljanje funkcija i struktura podataka modifikacijom tipova. Ovo isključuje 'generalnost' dozvoljenu definisanjem tipa interfejsa kao načina apstrahovanja stvarnih podataka koji se donose funkciji.
Google ukazuje da bi programeri Go trebali shvatiti da će funkcionalnost nesumnjivo dovesti do novih grešaka. Stoga bi ovim 'generičkim lijekovima' trebali pristupiti s oprezom.
Ostale funkcionalnosti u Go 1.18 Beta
Pored gore navedenih funkcionalnosti, novi pregled takođe ima ugrađenu podršku za pisanje testova zasnovanih 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đe nudi novi 'Go workspace mode'. Ovo omogućava programerima da rade sa više Go modula istovremeno. Ovo je posebno korisno za velike projekte, navodi Google.
Štaviše, verzija 1.18 Beta dodaje funkcionalnost sa proširenom naredbom go version -m. Ova komanda sada pohranjuje detalje kao zastavice kompajlera. Program sada može tražiti vlastite detalje izrade pomoću naredbe debug.ReadBuildInfo.
Takođe, više konvencija o pozivanju zasnovanom na registru, dostupnom od Go 1.17, dodato je u pregled. Dok je u prethodnoj verziji ova funkcionalnost bila prikladna samo za ubrzavanje Go koda na x86 i x64 sistemima, sada je pogodna i za ARM64 i PPC64 bazirane sisteme. Ovo bi trebalo da obezbedi do 20 procenata veću brzinu.