来了来了!Go1.16 重磅发布

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

刚刚,Go Team 发布了 Go1.16。2020 年,因为疫情,Go1.15 包含的特性比较少,但 Go1.16 特性比较多。在之前,Go语言中文网已经陆续发布了相关特性讲解的文章(见文末参考文献)。现在 Go1.16 终于如期发布了,再一起看看有哪些变动。 首先看看如何更新到 Go1.16。 - 如果你使用了 goup、gvm 这样的工具,使用这些工具更新即可。 - 配置 GOPROXY 后,通过下图的方式更新。 ![go1.16.png](https://static.studygolang.com/210217/48f2bbda13ebcbba563f0b3006dab9ca.png) - 源码下载安装,Go语言中文网已经为你准备好:<https://studygolang.com/dl>。 接着看看最重要的变化。 ### embed 包和 //go:embed 指令 新的 embed 包使用新的 //go:embed 指令,在编译时嵌入的文件,并对其进行访问。现在可以轻松地将支持数据文件捆绑到 Go 程序中,从而使使用 Go 进行开发更加顺畅。通过它,真正做到部署时只有一个二进制文件。 ### 增加对 macOS ARM64 的支持 Go 1.16 还添加了macOS ARM64 支持(也称为 Apple 芯片:M1)。自 Apple 宣布其新的 arm64 架构以来,Go 团队一直在与他们紧密合作以确保 Go 得到完全支持;有关更多信息,请参考官方博客文章 “[Go on ARM and Beyond](https://docs.studygolang.com/blog/ports)”。 ### 默认启用 Module 注意,Go 1.16 默认使用 Go 模块。根据官方 2020 Go 开发人员调查,现在有 96% 的 Go 开发人员已进行了更改。 ### io/fs 包 对文件系统进行抽象,一定程度上是配合 embed 进行的,否则应该不会这么快跟着发布。不过这个包还是很不错的。同时不建议使用 io/ioutil 了,因为其中的内容移到 os 和 io 包了。 最后,还有许多其他改进和错误修复,包括构建速度提高了 25%,内存使用量减少了 15%。有关更改的完整列表以及有关上述改进的更多信息,请参阅 [Go 1.16 发行说明](https://docs.studygolang.com/doc/go1.16)。

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

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

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