本文作者:icy

Golang 1.21 来啦 -Go 1.21 Release Candidate

icy 2023-07-01 1175 抢沙发
Golang 1.21 来啦 -Go 1.21 Release Candidate摘要: 2023 年 6 月 21 日Go 1.21 第一个候选版本 (RC) 现已可供 下载  页 !   Go 1.21 充满了新功能和改进。 &nbs...

images.png

2023 年 6 月 21 日

Go 1.21 第一个候选版本 (RC) 现已可供 下载  页 !   Go 1.21 充满了新功能和改进。  获得 RC(候选版本)可以让你尽早尝试,尝试一下  它会影响您的工作负载,并在最终发布之前报告任何问题(预定  八月)。   以下是 Go 1.21 中的一些显着变化和功能;   为充分  列表,请参阅 完整的发行说明

(请注意,Go 1.21 的第一个 RC 称为 go1.21rc2因为标记后发现并修复了一个错误 go1.21rc1

工具改进

  • 文件引导优化 (PGO) 功能 我们宣布预览的配置  1.20 现已正式上线!   如果一个文件名为 default.pgo存在于主包的目录中, go命令  将使用它来启用 PGO 构建。 参阅 PGO 文档  请  更多细节。   我们测量了 PGO 对一系列广泛的 Go 程序的影响,  性能提升 2-7%。

  • go工具 现在支持 向后  和 前向 语言兼容性。

语言变化

标准库添加

  • 用于结构化日志记录的新 log/slog 包。

  • 用于常见操作的新 切片 包  在任何元素类型的切片上。   这包括通常的排序功能 包更快、更符合人体工程学 比sort

  • 地图 用于地图上常见操作的 包  任何键或元素类型。

  • 新的 cmp 软件包以及用于比较的新实用程序  有序值。

提高性能

除了启用 PGO 时的性能改进之外:

  • Go 编译器本身已在 1.21 中启用 PGO 进行了重建,并且作为 结果,它构建 Go 程序的速度提高了 2-4%,具体取决于主机架构。

  • 由于垃圾收集器的调整,某些应用程序可能会看到高达 40% 尾部潜伏期减少。

  • 收集跟踪 使用运行时/跟踪 现在  在 amd64 和 arm64 上产生的 CPU 成本要小得多。

WASI 的新港口

的实验端口 Go 1.21 添加了WebAssembly 系统接口(WASI) ,  预览 1 ( GOOS=wasip1, GOARCH=wasm)。

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

下载 Go 1.21 RC 并尝试一下!   如果您注意到任何  问题,请 提出问题 。 


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

分享

发表评论

快捷回复:

评论列表 (暂无评论,1175人围观)参与讨论

还没有评论,来说两句吧...