大家好,我是煎鱼。
Go1.21 在昨天晚上 11 点 30 多的时候,终于发布出来了,真的是...日常拖迭代了,一直往后挪。之前说在前面迭代实现的功能,又放到这个迭代里发布了。
![51b24e8fd5fdf2d08d0187b1258fd4af.png](https://i-blog.csdnimg.cn/blog_migrate/f594713349a73b6b4b4fbce39ee69d28.png)
本次新版本的大部分变更都在工具链、运行时和库的实现上,继续保持了 Go1 的兼容性承诺。(甚至增强了... 😂)
想要体验的同学可以按如下命令下载:
![82a9797ef6a808d9c57176a75a1eaedf.png](https://i-blog.csdnimg.cn/blog_migrate/fcdf2a97144dce5bb4e65c3953fa9a62.png)
关于本次 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
。
关注和加煎鱼微信,
一手消息和知识,拉你进技术交流群👇
你好,我是煎鱼,出版过 Go 畅销书《Go 语言编程之旅》,再到获得 GOP(Go 领域最有观点专家)荣誉,点击蓝字查看我的出书之路。
日常分享高质量文章,输出 Go 面试、工作经验、架构设计,加微信拉读者交流群,和大家交流!