Golang

Golang 1.16, la más reciente revisión estable del lenguaje, está disponible en Fedora 34. Comparado con Golang 1.15, hay diversos cambios incluyendo entre otros:

  • El modo de reconocimientos de módulos está habilitado de forma predeterminada, consolidando aún más el movimiento de Golang hacia que los módulos sean el sistema de gestión de dependencias preferido.

  • Se ha actualizado el comando go install, añadiendo la capacidad de construir sufijos de versión. Ahora se recomienda que se use go install para la construcción e instalación de paquetes Golang cuando se utilicen módulos.

  • Los módulos publicados se pueden etiquetar ahora como 'retracted' usando la etiqueta retract en go.mod. Esto no borra una versión publicada, pero será ignorada por los usuarios que están esperando la última versión de un módulo. Las dependencias de una versión retirada se conservan, pero hay una advertencia para aquellos que específicamente desean usar el paquete retirado (las dependencias no se romperán como consecuencia de usar retract).

  • Los archivos estáticos y los árboles de archivos puede ahora ser parte de un ejecutable usando el paquete embed.

  • Se ha mejorado el tiempo de ejecución de Golang, con la asignación de memoria de Linux reaccionando ahora más rápido a la demanda de memoria del sistema.

  • El paquete runtime/metrics permite una mejor monitorización del tiempo de ejecución de Golang.

  • El enlazador se ha mejorado aún más en comparación con v1.15 y es significativamente más rápido, utiliza menos memoria y normalmente crea ejecutables más pequeños.

  • Se ha actualizado el paquete io, añadiendo el paquete io/fs para interfaz con el sistema de archivos, así como la desaprobación de`io/ioutil`. La funcionalidad de io/ioutil se ha movido a otros paquetes (io y os).

  • The GOVCS environment variable has been introduced to allow users to specify which version control system can be trusted and used to download source code.

For further details, see the Golang 1.16 release notes.