大家好,我是煎鱼。
Go1.21 在昨天晚上 11 点多的时候,终于发布出来了,真的是...日常拖迭代了,一直往后挪。之前说在前面迭代实现的功能,又放到这个迭代里发布了。
本次新版本的大部分变更都在工具链、运行时和库的实现上。继续保持了 Go1 的兼容性承诺(甚至增强了...)
想要体验的同学可以按如下命令下载:
关于本次 Go1.21 相关特性,我又看了一遍 Release Notes。重要的更新我基本都写了。
以下是文章汇总,欢迎吸取知识:
- slices、maps 泛型库:《slices、maps 泛型库终于要加入标准库。。。》
- for 循环变量的语义变更:《Go 团队将修改 for 循环变量的语义,新版本即可体验!》
- context 可设置取消原因和回调函数:《Context 可以设置取消原因和回调函数了,等的可太久了!》
- 主版本号支持第三位数字 0:《Go 改版本号规则,主版本号终于支持第三位数字 0 了。。。》
- 统一标准 log/slog:《Go 十年了,终于想起要统一 log 库了!》
- 支持自定义 go.env 文件:《支持自定义 go.env 文件,可惜还是有所残缺。。。》
- 增强约束 Go 程序构建:《go.mod 的 Go 版本号将会约束 Go 程序构建,要特别注意了!》
- 新内置函数和标准库 clear、min、max、cmp:《Go1.21 速览:新内置函数 clear、min、max 和新标准库包 cmp!》
- panic(nil) 成为历史:《Go1.21 速览:骚操作 panic(nil) 将成为历史!以后别这么干了。。。》
- 结束对 macOS 10.13/10.14 和 Windows 7/8、Server 2008/2012:《Go1.21 速览:正式结束对 macOS 10.13 和 10.14 的支持》
- 进一步支持 WASI:《Go1.21 速览:Go 终于打算进一步支持 WebAssembly 了。。。》
更多 Go1.21 Release Notes 相关资料,可以查看:https://go.dev/doc/go1.21
。
文章持续更新,可以微信搜【脑子进煎鱼了】阅读,本文 GitHub github.com/eddycjy/blo… 已收录,学习 Go 语言可以看 Go 学习地图和路线,欢迎 Star 催更。