Google lanzou unha vista previa da nova versión da linguaxe de programación Go. A versión 1.18 engade funcionalidades para a programación "xenérica" cos chamados tipos "parametrizados".
Segundo as súas propias palabras, é o cambio máis importante e maior da linguaxe de programación desde o lanzamento da versión 1 de Go. A idea detrás dos xenéricos é que agora permiten funcionalidades para representar funcións e estruturas de datos modificando os tipos. Isto exclúe a "xeneralidade" permitida ao definir un tipo de interface como unha forma de abstraer os datos reais que se levan a unha función.
Google indica que os desenvolvedores de Go deberían darse conta de que a funcionalidade sen dúbida levará a novos erros. Polo tanto, deberían abordar estes "xenéricos" con precaución.
Outras funcións en Go 1.18 Beta
Ademais da funcionalidade anterior, a nova vista previa tamén ten soporte integrado para escribir probas baseadas en fuzzing. Estas probas poden atopar automaticamente entradas que provocan que os programas fallen ou devolvan respostas non válidas. Go 1.18 Beta tamén ofrece un novo "modo de espazo de traballo Go". Isto permite aos programadores traballar con varios módulos Go ao mesmo tempo. Isto é especialmente útil para proxectos grandes, segundo Google.
Ademais, a versión 1.18 Beta engade funcionalidade cun comando go version -m estendido. Este comando agora almacena os detalles como marcas do compilador. Agora un programa pode consultar os seus propios detalles de compilación co comando debug.ReadBuildInfo.
Ademais, na vista previa engadiuse máis convencións de chamadas baseadas no rexistro, dispoñibles desde Go 1.17. Se na versión anterior esta funcionalidade só era adecuada para acelerar o código Go en sistemas x86 e x64, agora tamén é adecuada para sistemas baseados en ARM64 e PPC64. Isto debería proporcionar ata un 20 por cento máis de velocidade.