Go 1.19 Beta 1的发布,有哪些值得关注的呢?

2022年6月16日 234点热度 0人点赞 0条评论

最近在学习Golang,所以将学习过程记为笔记,以后翻阅的时候也方便,顺便也给大家做一点分享,希望能坚持下去。


关注本公众号,即可领取视频教程

2022年GO语言全套精讲系列-入门到精通96集


学习与交流:Go语言技术微信群

商务合作加微信:LetsFeng


课本,文档学习Go语言,个人强烈推荐这本书


现在就开始你的Go语言学习之旅吧!人生苦短,let’s Go.



图片

图片

Go 1.19 预计将于 2022 年 8 月发布,目前 Go 1.19 的 beta 版本发布了,下面介绍一下 GO 1.19 版本的主要变更:

语言的变化

语言只有很小的变化,对方法声明中类型参数的范围进行了很小的修正。现有程序不受影响。

内存模型

Go 内存模型已经过修改,与 C、C++、Java、JavaScript、Rust 和 Swift 使用的内存模型保持一致 。

移植

Go 1.19 支持 Linux 上的龙芯 64 位架构 LoongArch 。

新的 unix 构建约束

现在可以在 //go:build 行中识别构建约束 unix。如果目标操作系统是 Unix 或类 Unix 系统,则满足约束。

运行

运行时现在包括对软内存限制的支持。此内存限制包括 Go 堆和运行时管理的所有其他内存,不包括外部内存源,例如二进制文件本身的映射、以其他语言管理的内存,以及操作系统代表 Go 程序持有的内存。

编译器

编译器现在使用跳转表来实现大整数和字符串 switch 语句。switch 语句的性能改进各不相同,约快 20% 左右。

riscv64 端口现在支持使用寄存器传递函数参数和结果,基准测试显示有 10% 或更多的性能改进。Go 编译器现在需要该 -p=importpath 标志来构建可链接的目标文件。

汇编器

与编译器一样,汇编器现在需要 -p=importpath 标志来构建可链接的目标文件。

链接器

在 ELF 平台上,链接器现在以标准 gABI 格式,而不是传统的 .zdebug 格式发出压缩的 DWARF 部分。

其他内容可以在 go1.19 文档中查看,其中一部分更改还未实现,或许在正式版本有所删减。

参考链接:

https://github.com/golang/go/issues/52038

https://tip.golang.org/ref/mem

https://en.wikipedia.org/wiki/Branch_table

https://tip.golang.org/doc/go1.19


更多相关Go语言的技术文章或视频教程,请关注本公众号获取并查看,感谢你的支持与信任!


78460Go 1.19 Beta 1的发布,有哪些值得关注的呢?

这个人很懒,什么都没留下

文章评论