Google on julkaissut esikatselun Go-ohjelmointikielen uudesta versiosta. Versio 1.18 lisää toimintoja "yleiseen" ohjelmointiin niin kutsutuilla "parametrisoiduilla" tyypeillä.
Se on heidän omien sanojensa mukaan tärkein ja suurin ohjelmointikieleen tehty muutos sitten Go version 1 julkaisun. Genericin ideana on, että se mahdollistaa nyt toiminnallisuuden funktioiden ja tietorakenteiden esittämiseen tyyppejä muokkaamalla. Tämä sulkee pois "yleisyyden", jonka sallii rajapintatyypin määrittäminen keinona abstraktoida toimintoon tuotava todellinen data.
Google osoittaa, että Go-kehittäjien tulisi ymmärtää, että toiminnallisuus johtaa epäilemättä uusiin virheisiin. Siksi heidän tulee suhtautua näihin "geneerisiin lääkkeisiin" varoen.
Muita toimintoja Go 1.18 Betassa
Yllä olevien toimintojen lisäksi uudessa esikatselussa on myös sisäänrakennettu tuki fuzzing-pohjaisten testien kirjoittamiseen. Nämä testit voivat löytää automaattisesti syötteitä, jotka aiheuttavat ohjelmien kaatumisen tai palauttavat virheellisiä vastauksia. Go 1.18 Beta tarjoaa myös uuden "Go-työtilatilan". Tämän ansiosta ohjelmoijat voivat työskennellä useiden Go-moduulien kanssa samanaikaisesti. Tämä on Googlen mukaan erityisen hyödyllistä suurissa projekteissa.
Lisäksi versio 1.18 Beta lisää toimintoja laajennetulla go version -m -komennolla. Tämä komento tallentaa nyt tiedot kääntäjän lippuina. Ohjelma voi nyt kysellä omia koontiversionsa tietoja komennolla debug.ReadBuildInfo.
Esikatseluun on lisätty myös enemmän rekisteripohjaista soittokäytäntöä, joka on saatavilla Go 1.17:stä lähtien. Jos aiemmassa versiossa tämä toiminto soveltui vain Go-koodin nopeuttamiseen x86- ja x64-järjestelmissä, niin nyt se sopii myös ARM64- ja PPC64-pohjaisiin järjestelmiin. Tämän pitäisi tarjota jopa 20 prosenttia enemmän nopeutta.