Go开源13周年 2022发布更多改变的Go 1.18 和 Go 1.19版本

描述

Go 语言开发团队技术 leader Russ Cox 在博客中庆祝 Go 开源 13 周年。2009 年 11 月 10 日,Go 作为开源项目正式宣布推出,目前已开源 13 周年。
 

开源

对于 Go 来说,2022 是非常重要的一年,这一年  Go 发布了 Go 1.18 和 Go 1.19 版本,下面回顾一下今年 Go 发布的新功能:

Go 1.18 为语言本身带来了一项重大功能:泛型,其次还有 Go 工作区、模糊测试等重要功能。

泛型是社区呼声最大的特性,也是今年 Go 最重大的特性,它为 Go 添加了参数多态性,以允许编写适用于各种不同类型但仍在编译时进行静态检查的代码。

要了解有关泛型的更多信息,请参阅教程 “泛型入门”:https://go.dev/doc/tutorial/generics

Fuzzing (模糊测试),是一种自动化测试技术。它随机生成测试数据,来验证代码的功能是否可用。比如先定义一个可通过任何输入的 fuzz 测试,接着尝试不同的随机输入,尝试使该模糊测试失败。

了解有关 fuzzing 的更多信息,请参阅教程 “开始使用 fuzzing ”(https://go.dev/doc/tutorial/fuzz) 和 fuzzing 参考(https://go.dev/security/fuzz/) 。

Go 工作空间功能,使同时处理多个模块变得容易,在维护一组具有模块依赖关系的相关模块时非常有用。

要了解工作空间,请参阅 Beth Brown 的博客文章 “熟悉工作空间” (https://go.dev/blog/get-familiar-with-workspaces)和工作空间参考(https://go.dev/ref/mod#workspaces)。

与 Go 1.18 相比,Go 1.19 版本相对平静:它专注于完善和改进 Go 1.18 引入的功能,以及内部稳定性改进和优化,较为重要的:

在 Go 文档注释中增加了对链接、列表和标题的支持。

为垃圾收集器添加了软内存限制 ,这在容器工作负载中特别有用。

此外, Go 团队今年还发布了  VS Code Go 扩展,为  VS Code 编辑器的 Go 代码提供了丰富的语言支持。Gopls 语言服务器也得到了性能优化。

在安全方面,Go 有一个新的的漏洞数据库和一个新的 govulncheck 命令,让 Go 开发者能够了解可能影响其项目的已知漏洞。

在 Go 的第 14 个年头,Russ 表示团队将继续努力,使 Go 成为大规模软件工程的最佳环境。目前的计划是特别关注供应链安全、改进的兼容性和结构化日志记录,此外还会有其他改进,包括配置文件引导优化等。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分