Google ha publicat una vista prèvia de la nova versió del llenguatge de programació Go. La versió 1.18 afegeix funcionalitats per a la programació "genèrica" amb els anomenats tipus "parametrats".
En les seves pròpies paraules, és el canvi més important i més gran al llenguatge de programació des del llançament de la versió 1 de Go. La idea darrere dels genèrics és que ara permet la funcionalitat de representar funcions i estructures de dades modificant els tipus. Això exclou la "generalitat" permesa per definir un tipus d'interfície com una forma d'abstraure les dades reals que s'introdueixen a una funció.
Google indica que els desenvolupadors de Go haurien d'adonar-se que la funcionalitat, sens dubte, donarà lloc a nous errors. Per tant, haurien d'apropar-se a aquests "genèrics" amb precaució.
Altres funcionalitats a Go 1.18 Beta
A més de la funcionalitat anterior, la nova vista prèvia també té suport integrat per escriure proves basades en fuzzing. Aquestes proves poden trobar automàticament entrades que provoquen que els programes es bloquegin o que retornin respostes no vàlides. Go 1.18 Beta també ofereix un nou "mode d'espai de treball Go". Això permet als programadors treballar amb diversos mòduls Go simultàniament. Això és especialment útil per a projectes grans, segons Google.
A més, la versió 1.18 Beta afegeix funcionalitat amb una comanda ampliada de la versió go -m. Aquesta ordre ara emmagatzema els detalls com a indicadors del compilador. Un programa ara pot consultar els seus propis detalls de compilació amb l'ordre debug.ReadBuildInfo.
A més, s'ha afegit més convenció de trucades basada en registre, disponible des de Go 1.17, a la vista prèvia. Quan a la versió anterior aquesta funcionalitat només era adequada per accelerar el codi Go en sistemes x86 i x64, ara també és adequada per a sistemes basats en ARM64 i PPC64. Això hauria de proporcionar fins a un 20 per cent més de velocitat.