Go 1.19 发布!

网友投稿 894 2022-09-30

Go 1.19 发布!

Go 1.19 发布!

8 月 2 号,Go 团队发布了 Go 1.19,可以通过访问​​-页面​​获得该版本。

Go 1.19 改进并改进了 ​​Go 1.18​​ , Go 1.19 的泛型开发集中在解决社区向我们报告的微妙问题和极端情况,以及重要的性能改进(某些泛型程序高达 20%)。

文档注释现在支持​​链接、列表和更清晰的标题语法​​​。此更改有助于用户编写更清晰、更易于导航的文档注释,尤其是在具有大型 API 的包中。作为此更改的一部分,​​gofmt​​​现在重新格式化文档注释以将标准格式应用于这些功能的使用。有关所有详细信息,请参阅“ ​​Go Doc Comments​​ ”。

​​Go 的内存模型​​​现在明确定义了​​sync/atomic 包​​​的行为。之前发生关系的正式定义已被修改,以与 C、C++、Java、JavaScript、Rust 和 Swift 使用的内存模型保持一致。现有程序不受影响。随着内存模型的更新, ​​sync/atomic 包中还有新的类型​​​,例如​​atomic.Int64​​​和​​atomic.Pointer[T]​​,以便更容易使用原子值。

出于​​安全原因​​​, os/exec 包不再尊重 PATH 查找中的相对路径。有关详细信息,请参阅​​软件包文档​​​ 。​​golang.org/x/sys/execabs​​的现有用途可以在仅使用 Go 1.19 或更高版本构建的程序中移回 os/exec。

垃圾收集器增加了对软内存限制的支持,在​​新的垃圾收集指南​​中有详细讨论。该限制对于优化 Go 程序以在具有专用内存量的容器中尽可能高效地运行特别有用。

​​unix​​​当目标操作系统 ( ​​GOOS​​​) 是任何类 Unix 系统时,新的构建约束得到满足。今天,类 Unix 意味着 Go 的所有目标操作系统,除了​​js​​​、​​plan9​​​、​​windows​​​和​​zos​​.

最后,Go 1.19 包括各种性能和实现改进,包括动态调整初始 goroutine 堆栈以减少堆栈复制、在大多数 Unix 系统上自动使用附加文件描述符、在 x86-64 和 ARM64 上用于大型 switch 语句的跳转表,支持 ARM64 上的调试器注入函数调用,RISC-V 上的寄存器 ABI 支持,以及在龙芯 64 位架构 LoongArch ( ​​GOARCH=loong64​​) 上运行的 Linux 的实验性支持。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:软考-信息安全-工控安全需求分析与安全保护工程
下一篇:浅谈微信小程序中引入并使用自带和外部图标的方法(微信小程序自定义图标)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~