Go 1.18 Beta 1 现已可用,这是 Go 1.18 的第一个预览版;Go 1.18 的正式版发布还需要几个月的时间。
感兴趣的用户可以访问下载页面获取 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