go语言最新测试版本Go 1.18 Beta 1发布了,带有泛型

2023-06-01 00:00:00 语言 版本 带有

Russ Cox,go团队在

2021年12月14日发布了 Go 1.18 Beta 1,您可以通过访问下载页面来获取。

https://go.dev/dl/#go1.18beta1


官方 Go 1.18 版本将在几个月内发布。

这是 Go 1.18 的第一个预览版,让您踢轮胎,试一试,并告诉我们您遇到的问题。

 Go 1.18 Beta 1 代表了 Google 的整个 Go 团队和世界各地的 Go 贡献者所做的大量工作,我们很高兴听到您的想法。


Go 1.18 Beta 1 是第一个包含 Go 对使用参数化类型的泛型代码的新支持的预览版本。

https://go.dev/blog/why-generics


泛型是自 Go 1 发布以来 Go 最重要的变化,当然也是我们做过的最大的单一语言变化。

对于任何大型的新功能,新用户发现新错误是很常见的,我们不希望泛型成为这个规则的例外;

一定要以适当的谨慎接近他们。


此外,某些微妙的情况,例如特定类型的递归泛型类型,已推迟到未来版本。

也就是说,我们知道一些早期采用者非常高兴,如果您有您认为特别适合泛型的用例,我们希望您能尝试一下。


我们发布了一个关于如何开始使用泛型的简短教程,并于上周在 GopherCon 上发表了演讲。

您甚至可以在 Go 开发分支模式下的 Go 游乐场上试用。

https://go.dev/play/?v=gotip


Go 1.18 Beta 1 添加了对编写基于模糊测试的内置支持,以自动查找导致程序崩溃或返回无效答案的输入。

https://go.dev/blog/fuzz-beta


Go 1.18 Beta 1 添加了新的“Go 工作区模式”,可让您同时使用多个 Go 模块,这是大型项目的重要用例。

https://go.dev/design/45713-workspace


Go 1.18 Beta 1 包含一个扩展的 go version -m 命令,它现在记录构建细节,例如编译器标志。

程序可以使用 

debug.ReadBuildInfo 

查询自己的构建详细信息,现在可以使用新的 

debug/buildinfo 

包从其他二进制文件中读取构建详细信息。

此功能旨在成为任何需要为 Go 二进制文件生成软件物料清单 (SBOM) 的工具的基础。


今年早些时候,Go 1.17 添加了一个新的基于寄存器的调用约定,以加速 x86-64 系统上的 Go 代码。 

Go 1.18 Beta 1 将该功能扩展到 ARM64 和 PPC64,从而提高了 20% 的速度。


感谢为此 Beta 版本做出贡献的所有人,尤其是 Google 的团队,他们多年来一直在为使泛型成为现实而不懈努力。

这是一条漫长的道路,我们对结果非常满意,希望您也喜欢。


有关更多详细信息,请参阅 Go 1.18 的完整发行说明草稿。

https://tip.golang.org/doc/go1.18

与往常一样,特别是对于测试版,如果您发现任何问题,请提出问题。

https://go.dev/issue/new

我们希望您喜欢测试 Beta 版,

并希望您在 2021 年余下的时间里都能安然度过。

节日快乐!

相关文章