Go 1.21发布!
1.PGO前瞻2.Protocol Buffer命名空间冲突3.gRPC基本教程4.Golang漏洞管理5.Govulncheck v1.0.0 发布了!
6.Go 1.21发布!
7.[PyTorch入门之60分钟入门闪击战]之入门8.[PyTorch入门之60分钟入门闪击战]之自动推倒9.[PyTorch入门]之从示例中学习PyTorch10.[PyTorch入门]之数据导入与处理11.[PyTorch入门之60分钟入门闪击战]之训练分类器12.[PyTorch入门之60分钟入门闪击战]之神经网络13.Proto3:Arena分配指南14.Proto3:C++代码生成指南15.Proto3:Techniques16.Proto3:编码17.Proto3:风格18.Proto3:C++基本使用19.Proto3使用指南20.[PyTorch入门]之迁移学习21.Proto3:C++ API概览22.完全可复制、经过验证的 Go 工具链23.PGO in Go 1.2124.为不断增长的Go生态系统扩展gopls25.Go 1.22 中的 For 循环26.解析类型参数27.Go 14周年原文在这里。
由Eli Bendersky, on behalf of the Go team 发布于 8 August 2023
Go团队今天非常高兴地发布了Go 1.21版本,你可以通过访问下载页面来获取。
Go 1.21充满了新功能和改进。以下是一些值得注意的变化;完整的列表,请参阅发布说明。
工具改进
- 我们在1.20版本预览的基于配置文件的优化(PGO)特性现在已经可以广泛使用了!如果在主包的目录中存在名为default.pgo的文件,go命令将使用它来启用PGO构建。更多详情请查看PGO文档。我们已经在一系列Go程序上测量了PGO的影响,看到了2-7%的性能提升。
- go工具现在支持向后和向前的语言兼容性。
语言变化
- 新的内置函数:min,max和clear。
- 对泛型函数的类型推断进行了多项改进。规范中对类型推断的描述已经被扩展和明确化。
- 在Go的未来版本中,我们计划解决Go编程中最常见的问题之一:循环变量捕获。Go 1.21带来了这个特性的预览,你可以在你的代码中使用环境变量来启用它。更多详情请查看LoopvarExperiment wiki页面。
标准库添加
- 新的log/slog包,用于结构化日志。
- 新的slices包,用于对任何元素类型的切片进行常见操作。这包括比sort包更快、更符合人体工程学的排序函数。
- 新的maps包,用于对任何键或元素类型的映射进行常见操作。
- 新的cmp包,带有新的有序值比较工具。
性能改进
除了启用PGO时的性能改进外,
- Go编译器本身已经在1.21版本中启用了PGO,因此它构建Go程序的速度提高了2-4%,具体取决于主机架构。
- 由于对垃圾收集器的调优,一些应用可能会看到尾部延迟降低了高达40%。
- 使用runtime/trace收集跟踪现在在amd64和arm64上的CPU成本大大降低。
新的WASI端口:
- Go 1.21添加了一个实验性的WebAssembly系统接口(WASI)的端口,预览1(
GOOS=wasip1,GOARCH=wasm
)。 - 为了便于编写更通用的WebAssembly(Wasm)代码,编译器还支持了一个新的用于从Wasm主机导入函数的指令:
go:wasmimport
。
感谢所有通过编写代码、提交错误、分享反馈和测试发布候选版本的人对这个版本的贡献。你们的努力帮助确保Go 1.21尽可能稳定。如果你发现任何问题,请提交一个问题。
享受Go 1.21吧!

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
author: mengbin
blog: mengbin
github: mengbin92
cnblogs: 恋水无意
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程