Google het 'n voorskou van die nuwe weergawe van die programmeertaal Go vrygestel. Weergawe 1.18 voeg funksionaliteit by vir 'generiese' programmering met sogenaamde 'geparameteriseerde' tipes.
In hul eie woorde, dit is die belangrikste en grootste verandering aan die programmeertaal sedert die vrystelling van Go weergawe 1. Die idee agter generika is dat dit nou funksionaliteit vir die voorstelling van funksies en datastrukture toelaat deur die tipes te wysig. Dit sluit die 'algemeenheid' uit wat toegelaat word deur 'n koppelvlaktipe te definieer as 'n manier om die werklike data wat na 'n funksie gebring word, te onttrek.
Google dui aan dat Go-ontwikkelaars moet besef dat die funksionaliteit ongetwyfeld tot nuwe foute sal lei. Hulle moet dus hierdie 'generiese' met omsigtigheid benader.
Ander funksionaliteit in Go 1.18 Beta
Benewens die bogenoemde funksionaliteit, het die nuwe voorskou ook ingeboude ondersteuning vir die skryf van fuzzing-gebaseerde toetse. Hierdie toetse kan outomaties insette vind wat veroorsaak dat programme ineenstort of ongeldige antwoorde terugstuur. Go 1.18 Beta bied ook 'n nuwe 'Go workspace mode'. Dit laat programmeerders toe om gelyktydig met verskeie Go-modules te werk. Dit is veral nuttig vir groot projekte, volgens Google.
Verder voeg weergawe 1.18 Beta funksionaliteit by met 'n uitgebreide go-weergawe -m-opdrag. Hierdie opdrag stoor nou besonderhede as samestellervlae. 'n Program kan nou sy eie boubesonderhede navraag doen met die opdrag debug.ReadBuildInfo.
Meer registergebaseerde oproepkonvensie, beskikbaar sedert Go 1.17, is ook in die voorskou bygevoeg. Waar in die vorige weergawe hierdie funksionaliteit slegs geskik was om Go-kode op x86- en x64-stelsels te versnel, is dit nou ook geskik vir ARM64- en PPC64-gebaseerde stelsels. Dit behoort tot 20 persent meer spoed te verskaf.