返回顶部

Go 开源 12 周年

[复制链接]
codefanLv.3 显示全部楼层 发表于 2021-11-17 07:17:29 |阅读模式 打印 上一主题 下一主题
Go 开发团队技术 leader Russ Cox 发文庆祝 Go 开源 12 周年。
5.png
rsc 提到了今年以来 Go 的一些变化:
  • 启用新域名 go.dev,此举将所有官方的 Go 站点整合至统一域名下。此外还使用 pkg.go.dev 替换 godoc.org
  • 2 月,Go 1.16 添加对 macOS ARM64 的支持,添加了文件系统接口嵌入文件默认启用 modules,以及多项改进和优化。
  • 8 月,Go 1.17 添加对 Windows ARM64 的支持,使 TLS 密码套件决策更容易和更安全,并引入了修剪模块图 (pruned module graphs),使 Go Modules 在大型项目中更加高效,并添加了新的、更易读的构建约束语法。在底层,Go 1.17 还为 x86-64 上的 Go 函数切换到基于寄存器的调用约定,将 CPU 密集型应用程序的性能提高了 5-15%。
  • IDE 方面,支持在 VS Code Go 中默认启用 gopls, 并为两者gopls和 VS Code Go 提供多项改进,包括由 Delve 提供支持的强大调试体验
  • 新提案:添加模糊测试支持
  • 正式提议向 Go 添加泛型,并将在 1.18 中提供

rsc 表示,完善泛型将是他们 2022 年的重点工作之一。Go 1.18 中的初始版本只是一个开始,开发团队需要花时间使用泛型,以便可以编写最佳实践,并决定应该将什么添加到标准库和其他库中。他们预计 Go 1.19(预计在 2022 年 8 月发布)及更高版本将进一步完善泛型的设计和实现,并将它们进一步整合到整体 Go 体验中。
另一项重点工作和供应链安全相关。这里涉及到依赖性的问题,Go Modules 的设计提供了可复制、可验证,以及经过验证的构建,但目前还有更多工作需要完成。从 Go 1.18 开始,go命令将在二进制文件中嵌入更多关于其构建配置的信息,这既是为了使可重复性更容易,也是为了帮助那些需要为 Go 二进制文件生成 SBOM 的项目。
Go 团队还开始研究 Go 漏洞数据库以及用于报告程序依赖项中漏洞的相关工具。他们在这项工作中的目标之一是显着提高此类工具的信噪比:如果程序不使用易受攻击的功能,则不会进行报告。在 2022 年期间,团队计划将其作为独立工具提供,同时将其添加到现有工具中。除此之外,在改进 Go 供应链安全态势方面,还有更多工作需要开展。

相关帖子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则