Go 1.19 重要的变化有:
-
Go 1.19 完善并改进了 Go 1.18 。开发团队将 Go 1.19 的泛型开发集中在解决社区报告的一些细微问题和极端情况,以及重要的性能改进(某些泛型程序性能改进高达 20%)。
-
Go 内存模型,详细参考官方文档:https://go.dev/ref/mem。随着内存模型的更新,Go 1.19 在 sync/atomic 包引入了新的类型:types Bool, Int32, Int64, Uint32, Uint64, Uintptr 和 Pointer 等,这让原子值的使用更方便。 -
工具方面,文档格式增强。文档注释中添加了对链接、列表和更清晰标题的支持。详情见:https://go.dev/doc/comment。 -
runtime 方面,最值得关注的变化就是增加了 runtime/debug.SetMemoryLimit,可以限制 Go 的内存使用。 -
此外,Go 1.19 还包括了各种性能和实现改进,包括动态调整初始 goroutine 堆栈以减少堆栈复制、在大多数 Unix 系统上自动使用附加文件描述符、在 x86-64 和 ARM64 上用于大型 switch 语句的跳转表,支持 ARM64 上的调试器注入函数调用,RISC-V 上的 register ABI 支持,以及在龙芯 64 位架构 LoongArch ( GOARCH=loong64) 上运行的 Linux 的实验性支持。
其他是一些库的小变化。
详细变化可以查看官方 Release Notes:https://go.dev/doc/go1.19。
Go 语言中文网也为大家准备好了 Go1.19 的下载包:https://studygolang.com/dl。
推荐阅读
文章评论