Idioma Go (golang) de Google ha llegado a la versión 1.22, trayendo cambios a for
bucles que incluyen una resolución del problema que corría el riesgo de compartir accidentalmente variables de bucle.
Lanzado el 6 de febrero, Go 1.22 se puede descargar e instalar desde ir.dev. Notas de lanzamiento para Go 1.22 se puede encontrar en el sitio web del proyecto.
Con Go 1.22, el equipo de Go ha resuelto lo que se ha llamado el for
bucle «te pillé», lo que lleva a compartir accidentalmente variables de bucle. En Go 1.22, cada iteración del bucle crea nuevas variables para evitar errores de intercambio accidental. En un segundo cambio, for
Los bucles en Go ahora pueden abarcar números enteros.
También en Go1.22, una optimización del tiempo de ejecución mejora el rendimiento de la CPU entre un 1 % y un 3 % al tiempo que reduce la sobrecarga de memoria de la mayoría de los programas Go en aproximadamente un 1 %. También se presenta una desvirtualización mejorada en las compilaciones de optimización guiada por perfiles (PGO), lo que permite el envío estático de más llamadas a métodos de interfaz. La mayoría de los programas verán mejoras del 2% al 14% con PGO habilitado. PGO fue introducido en Ir 1.21que llegó en agosto de 2022.
Go 1.22 también trae mejoras a la biblioteca estándar. A math/rand/v2
El paquete proporciona una API más consistente y limpia y utiliza algoritmos de generación pseudoaleatoria más rápidos y de mayor calidad. Además, los patrones de enrutamiento HTTP utilizados por net/http.ServeMux
Ahora acepta comodines y métodos.
En otra parte de Go 1.22:
- Los comandos Go en espacios de trabajo ahora pueden usar un
vendor
Directorio que contiene las dependencias del espacio de trabajo. - El
trace
La interfaz de usuario web de la herramienta se actualizó como parte del trabajo para respaldar el nuevo rastreador, resolviendo varios problemas y mejorando la legibilidad de varias subpáginas. - El comportamiento del
vet
La herramienta ha cambiado para coincidir con la nueva semántica de las variables de bucle en Go 1.22. También,vet
ahora informa una llamada no diferida atime.Since
- En macOS con arquitectura de 64 bits, la cadena de herramientas Go ahora genera ejecutables independientes de la posición de forma predeterminada.
- Go 1.22 agrega un puerto experimental a OpenBSD en PowerPC big-endian de 64 bits.
Copyright © 2024 IDG Communications, Inc.