Go 1.19 Beta1 发布,这个改动挺有意思

polaris · · 1991 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

大家好,我是 polarisxu。 近日,Go1.19 进入了冻结状态,即不接受新功能,同时发布了 Go1.19 Beta1 版本。 试用 Go1.19 Beta1 最好的方式是通过以下命令安装: ```bash go install golang.org/dl/go1.19beta1@latest go1.19beta1 download ``` ![go1.19beta1.png](https://static.golangjob.cn/220612/46e2e71b14304aaa394b67004b2e550e.png) 相比 Go1.18,Go1.19 的新特性比较少,有以下几个点值得关注: 1)Doc Comments,这个在今年年初就有开始设计,主要提供了一些更友好的样式支持。完整的设计文档见:<https://github.com/golang/proposal/blob/master/design/51082-godocfmt.md>。比如简单的链接样式: ![doc-comment.png](https://static.golangjob.cn/220612/67753e4356a359b19199564b5503b4dd.png) 2)泛型相关问题、改进:<https://github.com/golang/go/issues?q=is%3Aissue+label%3Agenerics+milestone%3AGo1.19+is%3Aopen> 3)Runtime 的一些变化,比如内存限制 `runtime/debug.SetMemoryLimit`,几个新的 runtime metric 等,此外,有一个比较有意思的改动:runtime 现在将根据 goroutine 的历史平均堆栈使用情况分配初始 goroutine 堆栈。这避免了在平均情况下需要的一些早期堆栈增长和复制,以换取在低于平均水平的 goroutine 上最多浪费 2 倍的空间。也就是说,goroutine 的栈使用情况会根据实际使用情况做调整,相关改动:<https://github.com/golang/go/commit/016d7552138077741a9c3fdadc73c0179f5d3ff7>。 4)默认提高文件描述符打开数限制,具体可以参考:<https://github.com/golang/go/issues/46279> 5)内存模型做了更新:<https://tip.golang.org/ref/mem>,使得 Go 与 C、C++、Java、JavaScript、Rust、Swift 等语言使用的内存模型保持一致。 更多详细的变化可以参考 Go1.19 的 Release Notes:<https://tip.golang.org/doc/go1.19>。 另外,目前 Go1.19 还有 200 Open 状态的 issue 没有解决:<https://github.com/golang/go/milestone/224>。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1991 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传