Google ir izlaidusi programmēšanas valodas Go jaunās versijas priekšskatījumu. Versijā 1.18 ir pievienota funkcionalitāte “vispārējai” programmēšanai ar tā sauktajiem “parametrizētajiem” tipiem.
Viņu pašu vārdiem sakot, tās ir vissvarīgākās un lielākās izmaiņas programmēšanas valodā kopš Go 1. versijas izlaišanas. Vispārīgo līdzekļu ideja ir tāda, ka tā tagad nodrošina funkcionalitāti funkciju un datu struktūru attēlošanai, mainot veidus. Tas izslēdz “vispārīgumu”, ko pieļauj, definējot saskarnes tipu kā līdzekli faktisko datu abstrahēšanai, kas tiek nodoti funkcijai.
Google norāda, ka Go izstrādātājiem ir jāsaprot, ka funkcionalitāte neapšaubāmi radīs jaunas kļūdas. Tādēļ šiem “ģenēriskajiem medikamentiem” vajadzētu pievērsties piesardzīgi.
Citas funkcijas Go 1.18 Beta versijā
Papildus iepriekšminētajai funkcionalitātei jaunajā priekšskatījumā ir arī iebūvēts atbalsts uz izplūdušo testu rakstīšanai. Šie testi var automātiski atrast ievades datus, kas izraisa programmu avāriju vai atgriež nederīgas atbildes. Go 1.18 Beta piedāvā arī jaunu “Go darbvietas režīmu”. Tas ļauj programmētājiem strādāt ar vairākiem Go moduļiem vienlaikus. Tas ir īpaši noderīgi lieliem projektiem, norāda Google.
Turklāt versija 1.18 Beta papildina funkcionalitāti ar paplašinātu go version -m komandu. Šī komanda tagad saglabā informāciju kā kompilatora karogus. Programma tagad var pieprasīt informāciju par savu būvējumu, izmantojot komandu debug.ReadBuildInfo.
Priekšskatījumā ir pievienota arī vairāk uz reģistriem balstīta zvanu konvencija, kas pieejama kopš versijas Go 1.17. Ja iepriekšējā versijā šī funkcionalitāte bija piemērota tikai Go koda paātrināšanai x86 un x64 sistēmās, tad tagad tā ir piemērota arī ARM64 un PPC64 sistēmām. Tam vajadzētu nodrošināt līdz pat 20 procentiem lielāku ātrumu.