3月15日,Google 宣布了对 Go 编程语言的重大“里程碑”更新,其引入了对模糊测试的原生支持——这便是新的Go 版本 1.18。
“8”在中国人眼里是个吉祥数字,118这个版本号确是个好彩头。
正如 Google 解释的那样,“模糊测试”是一种通过向软件抛出任意或无效数据以暴露错误和未知错误来测试软件漏洞的方法。
这个特性为 Go 代码增加了一层额外的安全性,随着功能的发展其语言也一依然受到保护,伴随着行业对软件攻击的频率和复杂性上不断升级,这一点尤其重要。
“在Google,我们致力于保护世界所依赖的在线基础设施和应用程序。”Google 基础设施负责人 Eric Brewer 如是说。
“其中一个关键方面是能够理解和验证开源依赖链的安全性。Go 的 1.18 版本是确保开发人员能够构建最安全的应用程序、知晓发现漏洞时的风险的重要一步,能够减少网络安全攻击的影响。”
虽然也有其他语言支持模糊测试,但 Go 不应该是第一个将其纳入其核心工具链的编程语言,这意味着它与其他语言不同地方,不再需要第三方支持集成。
对于Go 1.18,Google 鼓吹为“十多年设计巅峰之作”,该版本为开发者长期以来要求的编程语言提供了一系列重大更新。
Google 还在使用参数化类型为通用代码提供语言支持,这是 Go 用户最想要的功能。
泛型支持
Google 的 Go 产品和战略负责人 Steve Francia 表示,如果语言不支持泛型,Go 用户需要为自己使用的每种数据类型重复编写代码。
“使用泛型,用户可以将该代码整合到一个例程中,同时仍然保持安全性,此外用户还能获得更具可读性和更高性能的代码。Go 一直提供的相同类型的安全性,这对软件生产力和性能来说是一个重大‘福音’。”
工作区
Go 1.18 的新增功能是模块工作区,这使开发人员能够在单个存储库中跨多组件工作。
20%的性能改进
它在 ARM64 和Apple M1 处理器平台能够达到 20% 以上的性能提升。
Google 于 2007 年创建了 Go 语言,旨在帮助软件开发者为现代多核计算系统构建安全的开源企业应用。
Google 表示,超过四分之三的云原生计算基金会 (CNCF) 项目,包括 Kubernetes 和 Istio,都使用 Go 开发。
“许多塑造云原生和容器化应用程序开发未来的关键项目都是使用 Go 构建,包括 Kubernetes、Docker 和等,”Francia 解释说。
“尽管我们在 Google 内部有一个专门的 Go 研发团队,但我们欢迎来自社区的大量贡献。这是我们一项共同的努力,通过共同的更新进步,帮助我们的社区实现 Go 的长期愿景。
根据 Stack Overflow 的数据,全球约有 10% 的开发人员正在使用 Go 编写代码,并且有数据表明,越来越多的公司都在寻找 Go 程序员和相关技术人才。
作者:洛逸
相关阅读:
Log4j2维护者吐槽没工资还要挨骂,Go安全负责人建议开源作者向公司收费
文章评论