Go 语言开发团队技术 leader Russ Cox Go 1.18 和 Go 1.19 版本,下面回顾一下今年 Go 发布的新功能:
Go 1.18 为语言本身带来了一项重大功能:泛型,其次还有 Go 工作区、模糊测试等重要功能。
- 泛型是社区呼声最大的特性,也是今年 Go 最重大的特性,它为 Go 添加了参数多态性,以允许编写适用于各种不同类型但仍在编译时进行静态检查的代码。要了解有关泛型的更多信息,请参阅教程“泛型入门”。
- Fuzzing (模糊测试),是一种自动化测试技术。它随机生成测试数据,来验证代码的功能是否可用。比如先定义一个可通过任何输入的 fuzz 测试,接着尝试不同的随机输入,尝试使该模糊测试失败。了解有关 fuzzing 的更多信息,请参阅教程“开始使用 fuzzing ”和 fuzzing 参考 。
- Go 工作空间功能,使同时处理多个模块变得容易,在维护一组具有模块依赖关系的相关模块时非常有用。要了解工作空间,请参阅 Beth Brown 的博客文章“熟悉工作空间”和工作空间参考。
与 Go 1.18 相比,Go 1.19 版本相对平静:它专注于完善和改进 Go 1.18 引入的功能,以及内部稳定性改进和优化,较为重要的:
此外, Go 团队今年还发布了 govulncheck 命令,让 Go 开发者能够了解可能影响其项目的已知漏洞。
在 Go 的第 14 个年头,Russ 表示团队将继续努力,使 Go 成为大规模软件工程的最佳环境。目前的计划是特别关注供应链安全、改进的兼容性和结构化日志记录,此外还会有其他改进,包括配置文件引导优化等。
延伸阅读:
- Go 1.18 正式发布了!支持泛型、性能优化...
- Go 1.19 正式发布
- Go 安全团队宣布新命令 govulncheck,用于检测漏洞
(文/开源中国)