Guglo publikigis antaŭprezenton de la nova versio de programlingvo Go. Versio 1.18 aldonas funkciecon por 'genera' programado kun tielnomitaj 'parametrizitaj' tipoj.
En siaj propraj vortoj, ĝi estas la plej grava kaj plej granda ŝanĝo al la programlingvo ekde la ĵeto de Go-versio 1. La ideo malantaŭ generiloj estas ke ĝi nun permesas funkciecon por reprezenti funkciojn kaj datumstrukturojn modifante la tipojn. Tio ekskludas la "ĝeneralecon" permesitan difinante interfacspecon kiel manieron abstrakti la faktajn datenojn estantajn alportitajn al funkcio.
Guglo indikas, ke Go-programistoj devus rimarki, ke la funkcieco sendube kondukos al novaj cimoj. Ili do devas singarde aliri ĉi tiujn "generaĵojn".
Alia funkcieco en Go 1.18 Beta
Krom ĉi-supra funkcieco, la nova antaŭvido ankaŭ havas enkonstruitan subtenon por verkado de fuzz-bazitaj testoj. Ĉi tiuj provoj povas aŭtomate trovi enigaĵojn, kiuj igas programojn kraŝi aŭ resendi nevalidajn respondojn. Go 1.18 Beta ankaŭ ofertas novan 'Iru laborspacan reĝimon'. Ĉi tio permesas al programistoj labori kun pluraj Go-moduloj samtempe. Ĉi tio estas precipe utila por grandaj projektoj, laŭ Guglo.
Krome, versio 1.18 Beta aldonas funkciojn kun etendita go version -m komando. Ĉi tiu komando nun konservas detalojn kiel kompililajn flagojn. Programo nun povas pridemandi siajn proprajn konstruajn detalojn per la komando debug.ReadBuildInfo.
Ankaŭ, pli da registro-bazita voka konvencio, havebla ekde Go 1.17, estis aldonita en la antaŭvido. Kie en la antaŭa versio ĉi tiu funkcio estis nur taŭga por akceli Go-kodon sur x86 kaj x64 sistemoj, ĝi nun taŭgas ankaŭ por ARM64 kaj PPC64 bazitaj sistemoj. Ĉi tio devus provizi ĝis 20 procentojn pli da rapideco.