在 Go1.18 发布 5 个月后,Go1.19 如期发布了。不过,它的大部分更改都在工具链、runtime 和库的实现中。与往常一样,该版本保持了 Go 1[的兼容性承诺](https://go.dev/doc/go1compat)。因此几乎所有 Go 程序都能像以前一样继续编译和运行。
Go 1.19 重要的变化有:
- 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 的内存使用。
其他是一些库的小变化。
详细变化可以查看官方 Release Notes:<https://go.dev/doc/go1.19>。
Go 语言中文网也为大家准备好了 Go1.19 的下载包:<https://studygolang.com/dl>。
有疑问加站长微信联系(非本文作者)