Go 1.18 Beta 1 可用,带有泛型

时间:2022-11-20 15:35:32

Go 1.18 Beta 1 现已可用,这是 Go 1.18 的第一个预览版;Go 1.18 的正式版发布还需要几个月的时间。

感兴趣的用户可以访问下载页面获取 Go 1.18 Beta 1。

Go 1.18 Beta 1 可用,带有泛型

Go 1.18 Beta 1 是第一个包含 Go 对使用参数化类型的泛型代码的新支持的预览版本。官方表示,泛型是自 Go 1 发布以来 Go 最重要的变化,也是他们所做过的最大的单一语言变化。

对于任何大型的新功能,新用户发现新错误是很常见的,我们不希望泛型成为这个规则的例外;一定要以适当的谨慎态度对待它们。此外,某些微妙的情况,例如特定类型的递归泛型类型,已推迟到未来版本。也就是说,我们知道一些早期采用者已经相当满意,如果你有你认为特别适合泛型的用例,我们希望你能尝试一下。我们发布了一个 关于如何开始使用泛型的简短教程, 并在上周的 GopherCon 上做了一个演讲。你甚至可以在 Go playground 的 Go dev 分支模式下试用 。

此外,Go 1.18 Beta 1 还包含:

  • 添加了对编写基于模糊测试的内置支持 ,以自动查找导致程序崩溃或返回无效答案的输入。
  • 添加了一个新的“Go workspace mode”,它允许用户同时使用多个 Go 模块,这对大型项目来说是一个重要的用例。
  • 包含一个扩展go version -m命令,它现在可以记录 compiler flags 等构建细节 。程序可以使用 debug.ReadBuildInfo 查询自己的构建细节 ,现在可以使用新的 debug/buildinfo 包从其他二进制文件中读取构建细节 。此功能旨在成为任何需要为 Go 二进制文件生成软件物料清单 (SBOM) 的工具的基础。
  • Go 1.17 曾添加了一个新的基于寄存器的调用约定,以加速 x86-64 系统上的 Go 代码。Go 1.18 Beta 1 将该功能扩展到 ARM64 和 PPC64,从而提高了 20% 的速度。

更多详情可查看官方博客:https://go.dev/blog/go1.18beta1

本文地址:https://www.oschina.net/news/173774/go-1-18-beta1-released