Go 1.21, la última actualización del lenguaje de programación Go de Google, ya está disponible en producción. La nueva versión agrega funciones integradas (mínimo, máximo y claro) y generaliza la optimización guiada por perfiles (PGO). También se destacan las adaptaciones de WebAssembly. Las funciones min y max calculan el valor más pequeño o más grande de un número fijo de argumentos o tipos ordenados, respectivamente. Debe haber al menos un argumento. La función clear toma un argumento de tipo mapa, sector o parámetro de tipo y elimina o pone a cero todos los elementos.

Publicado este 8 de agostoIr 1.21 se puede descargar desde el sitio web del proyecto. La versión de producción sigue a una versión candidata publicada el 21 de junio. La optimización guiada por perfiles, introducida en la vista previa en Go 1.20 en febrero, sale del estado de vista previa en esta versión. PGO proporciona la capacidad para que la cadena de herramientas del compilador realice optimizaciones específicas de la aplicación y la carga de trabajo en función de la información del perfil de ejecución. Hasta ahora, PGO ha mejorado el rendimiento entre un 2 y un 7 por ciento cuando se midió el impacto en una amplia gama de programas, según los desarrolladores del Proyecto Go. El compilador Go fue reconstruido con PGO habilitado. Go 1.21 promete otras mejoras de rendimiento. La optimización de la recolección de basura allanaría el camino para que algunas aplicaciones se beneficien de una reducción del 40% en la latencia de cola, mientras que la recolección de rastros con tiempo de ejecución/rastreo ahora da como resultado un costo de CPU mucho menor en AMD64 y Arm64.

Centrarse en los desarrollos de Go 1.21

- Un puerto WASI (Interfaz del sistema WebAssembly) experimental está en versión preliminar. Para facilitar la escritura de más código WebAssembly, el compilador también admite una nueva directiva wasmimport para importar funciones desde el host Wasm;

- La biblioteca estándar agrega un paquete. iniciar sesión/trabajar para registro estructurado. Otro paquete rebanadas También se ofrece para operaciones rutinarias en rebanadas de cualquier tipo de elemento. Incluye funciones de clasificación que generalmente son más rápidas y fáciles de usar que el paquete. deletrear ;

- La biblioteca estándar también agrega un nuevo paquete. mapas para operaciones comunes en mapas de cualquier tipo de clave o elemento. un nuevo paquete cmp incluye nuevas utilidades para comparar valores ordenados;

- La herramienta de ir ahora admite compatibilidad de idiomas hacia atrás y hacia adelante.
Se han realizado mejoras en la inferencia de tipos para funciones genéricas. La descripción de la inferencia de tipos se ha ampliado y aclarado en la especificación;

- Si una versión futura de Go abordará un problema común en el idioma: el capturando variables de bucleLa v1.21 de este lenguaje tiene esta capacidad pero debe activarse en el código mediante una variable de entorno.