谷歌发布编程语言Go 1.21:取消旧版 Windows 和 macOS 的支持

时间:2023-08-10 22:22:40       来源:搜狐号-IT之家

IT之家 8 月 10 日消息,谷歌于今天为编程语言 Go 发布了全新的 1.21 版本,该版本大部分变化集中在工具链、运行时和库的实现,谷歌此前表示,Go 语言将在 1.21 版本取消对旧版微软 Windows 和苹果 macOS 系统的支持。

▲ 谷歌编程语言 Go 1.21 版本发布日志

IT之家附 Go 1.21 主要更新内容如下:


【资料图】

改进工具链

配置文件引导优化 (PGO)功能正式进入稳定阶段(GA)。

在 1.20 中处于预览阶段的启用配置文件引导优化 (PGO)功能现已正式进入稳定阶段,PGO 的原理是“编译器使用程序的运行时 profiling 信息,因此能够生成更高质量的代码,从而提高程序的性能”。如果主软件包目录中存在名为 default.pgo的文件,go 命令将使用该 default.pgo文件来启用 PGO 构建。

语言变更

添加新的内置函数:

min, max, clear

对泛型函数的类型推断进行了多项改进,包括“扩展和解释清楚规范”中类型推断的描述。

在未来版本中,开发团队计划解决 Go 编程中最常见的“循环变量捕获”问题,开发团队目前已经在 Go 1.21 中提供了“预览版”解决方案,目前用户可以使用“环境变量”在代码中启用该功能。

添加新的标准库

log / slog 包:用于结构化日志记; slices 包:增用于对任何元素类型的切片进行常见操作,这个包比 sort 包更快、更符合人体工程学; maps 包:用于对任何类型 key-value 进行常见操作; cmp 包:用于比较有序值 (ordered values)。 优化性能

Go 编译器本身已经在 1.21 就 PGO 进行了重建,因此当下构建 Go 程序的速度提高了 2-4%,不过官方表示,具体的优化效率将取决于主机架构。

支持 WASI

Go 1.21 已实验性支持 WebAssembly System Interface (WASI),Preview 1。

为了方便编写更通用的 WebAssembly (WASM)代码,编译器还支持从 WASM 主机导入函数的新指令:

go:wasmimport

关键词: