IT之家8月10日消息,谷歌今日发布了编程语言Go的全新版本1.21。这一版本的更新主要集中在工具链、运行时和库的实现方面。此前,谷歌曾表示,Go语言将在1.21版本中停止对旧版微软Windows和苹果macOS系统的支持。这意味着,使用Go语言进行编程的开发者将无法在旧版的Windows和macOS系统上继续享受到支持和更新。 这一决定可能会对一些开发者产生影响。然而,谷歌表示,取消对旧版Windows和macOS系统的支持是为了更好地适应新的技术和系统环境,并提供更高效、更稳定的使用体验。由于技术的不断更新和发展,旧版系统的适配性和维护工作变得越来越困难和耗时。因此,谷歌决定放弃对旧版系统的支持,以便更好地推动Go语言的发展和应用。 对于开发者来说,这意味着他们需要考虑升级他们的操作系统,以确保能够与Go语言1.21版本保持兼容。谷歌表示,新版Go语言将提供更多的功能和改进,有助于提升开发效率和代码质量。因此,虽然可能需要一些调整和迁移工作,但升级到新版Go语言仍然是一个明智的选择。 总的来说,谷歌发布的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
科技热搜 喜马拉雅 天猫精灵 手表 设备 韭菜 新闻 资讯 直播 视频 美图 社区 本地 热点 2023-08-07
科技热搜 华为 芯片 余承东 华为mate 雷蒙 新闻 资讯 直播 视频 美图 社区 本地 热点 2023-09-29
科技热搜 华为mate google pixel oppo find x iphone 新闻 资讯 直播 视频 美图 社区 本地 热点 2023-11-17
娱乐热点 造型 韩国 尺度 中国人 穿着 新闻 资讯 直播 视频 美图 社区 本地 热点 2024-02-04
娱乐热点 导演 a股 李产 股市 陈真 新闻 资讯 直播 视频 美图 社区 本地 热点 2024-01-18
曾被卖出19万美元高价!这台初代iPhone太猛了
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13
科技热搜 2024-03-13