祝贺 Go 开源 13 周年
2022-11-12 22:2:51 Author: Go语言中文网(查看原文) 阅读量:13 收藏

出品 | OSC开源社区(ID:oschina2013)

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 成为大规模软件工程的最佳环境。目前的计划是特别关注供应链安全、改进的兼容性和结构化日志记录,此外还会有其他改进,包括配置文件引导优化等。

相关链接:https://go.dev/blog/13years


推荐阅读

福利
我为大家整理了一份从入门到进阶的Go学习资料礼包,包含学习建议:入门看什么,进阶看什么。关注公众号 「polarisxu」,回复 ebook 获取;还可以回复「进群」,和数万 Gopher 交流学习。


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMTA4Njc0OQ==&mid=2651453698&idx=1&sn=726728a448586d20870e0fa5503936be&chksm=80bb27f0b7ccaee664fbba6f56d2acce7524ab29433fbbefda795b8264e02d9f5a5e52fe9983#rd
如有侵权请联系:admin#unsafe.sh