关于golang:重磅支持泛型的Go-118-Beta-1版本发布

41次阅读

共计 1583 个字符,预计需要花费 4 分钟才能阅读完成。

前言

2021 年 12 月 14 日,Go 官网公布了 Go 1.18 Beta 1 版本。

Go 团队负责人 Russ Cox 在官网博客针对该版本公布做了具体阐明。

自己针对 Russ 的原文做了一个翻译,以飨读者。

原文翻译

谷歌 Go 团队 Russ Cox

2021.12.14

咱们刚刚公布了 Go 1.18 Beta 1 版本,大家能够从 Downloads – go.dev 进行下载。

官网正式的 1.18 版本还须要几个月才会对外公布。这是 Go 1.18 版本的第一个 Beta 版本,让大家能够提前感触新版本的性能,如果大家在应用过程中遇到了任何问题,也欢送提出来。

Go 1.18 Beta 1 版本凝聚了谷歌的整个 Go 团队以及来自世界的 Go 语言贡献者的大量心血和付出,咱们十分期待听到大家对新版本的反馈。

Go 1.18 Beta 1 版本是第一个反对泛型的 Go 预览版本(preview release)。泛型是 Go 1.0 版本公布以来 Go 语言做出的最重要的改革,也是咱们团队对繁多语言做过的最大改革。对于任何重大的新性能上线,让用户试用并发现 bug 是通用常规,泛型也不例外,大家能够先提前尝鲜,审慎应用。

此外,对于一些非凡场景,比方递归泛型的特定品种反对会延后在将来的版本公布。咱们晓得有一些晚期泛型使用者对于泛型应用得很欢快,如果你有一些场景认为适宜应用泛型,咱们也心愿你能够尝试下这个 beta 版本。咱们公布了一个对于泛型的简要教程,链接地址:Tutorial: Getting started with generics – go.dev,咱们也在上周的 GopherCon 会议上做了相干技术分享,链接地址:https://www.youtube.com/watch…。你也能够在 Go Playground 的 Go dev 模式下试用泛型,链接地址:Go Playground – go.dev。

Go 1.18 Beta 1 增加了对于含糊测试 (fuzzing-based tests) 的内置反对,用于主动查找可能导致程序解体或者返回非法值的歹意输出。

Go 1.18 Beta 1 新增了一个 Go 工作区模式(Go workspace mode),让你能够同时应用多个 Go 模块,这对于大型项目而言十分有用。

Go 1.18 Beta 1 扩大了 go version - m 命令,这个命令会记录编译详细信息,比方编译标记。程序能够应用 debug.ReadBuildInfo 来查问本人的编译详细信息,还能够应用 debug/buildinfo 包来读取其它二进制文件的编译详细信息。这个性能是为了给帮忙 Go 二进制文件生成软件资料清单 (software bill of materials, SBOM) 的所有工具提供底层反对。

在往年早些时候,Go 1.17 新增了基于寄存器的调用约定,用于减速 Go 代码在 x86-64 机器上的运行速度。Go 1.18 Beta 1 扩大了这项性能到 ARM64 和 PPC64 架构上,会带来大略 20% 的速度晋升。

感激为这个 Beta 版本做出奉献的所有人,特别感谢谷歌的 Go 团队,大家为了让泛型在 Go 里实现,多年来始终不知疲倦地工作。咱们走过了漫长的一段路,咱们对目前的后果很称心,也心愿大家可能喜爱。

大家能够通过 https://go.dev/tip/doc/go1.18 查看 Go 1.18 Beta 1 版本的全副变更内容。

和以前一样,特地是对于 beta 版本,如果大家发现了任何问题,欢送在 GitHub 上提 issue。

咱们期待大家可能享受测试 beta 版本的过程,也祝大家在 2021 年残余的日子里过得舒心。

节日快乐!

结尾

也欢送大家关注自己公众号:coding 进阶,学习更多 Go、微服务和云原生架构相干常识。

GitHub 最风行的 golang 代码速查表中文翻译版本:https://github.com/jincheng9/…

Golang 入门,中级到高级教程:https://github.com/jincheng9/…

正文完
 0