Google a lansat o previzualizare a noii versiuni a limbajului de programare Go. Versiunea 1.18 adaugă funcționalități pentru programarea „generică” cu așa-numitele tipuri „parametrizate”.
Cu propriile cuvinte, este cea mai importantă și cea mai mare schimbare a limbajului de programare de la lansarea versiunii 1 Go. Ideea din spatele genericelor este că permite acum funcționalitate pentru reprezentarea funcțiilor și a structurilor de date prin modificarea tipurilor. Aceasta exclude „generalitatea” permisă prin definirea unui tip de interfață ca o modalitate de a extrage datele reale aduse unei funcții.
Google indică faptul că dezvoltatorii Go ar trebui să realizeze că funcționalitatea va duce, fără îndoială, la noi erori. Prin urmare, ar trebui să abordeze aceste „generice” cu prudență.
Alte funcționalități în Go 1.18 Beta
Pe lângă funcționalitatea de mai sus, noua previzualizare are și suport încorporat pentru scrierea de teste bazate pe fuzzing. Aceste teste pot găsi automat intrări care cauzează blocarea programelor sau returnarea răspunsurilor nevalide. Go 1.18 Beta oferă și un nou „mod Go workspace”. Acest lucru permite programatorilor să lucreze cu mai multe module Go simultan. Acest lucru este util în special pentru proiecte mari, potrivit Google.
În plus, versiunea 1.18 Beta adaugă funcționalitate cu o comandă extinsă go version -m. Această comandă stochează acum detaliile ca steaguri de compilator. Un program își poate interoga acum propriile detalii de construcție cu comanda debug.ReadBuildInfo.
De asemenea, mai multe convenții de apelare bazate pe înregistrare, disponibile începând cu Go 1.17, au fost adăugate în previzualizare. În cazul în care în versiunea anterioară această funcționalitate era potrivită doar pentru accelerarea codului Go pe sistemele x86 și x64, acum este potrivită și pentru sistemele bazate pe ARM64 și PPC64. Acest lucru ar trebui să ofere până la 20% mai multă viteză.