Go 1.11正式发布,支持模块和WebAssembly
极客时间编辑部
讲述:丁婵大小:1.08M时长:02:21
近日,Go 开发团队正式宣布推出 Go 1.11 版本,距离 Go 1.10 的发布已经过去六个月。新版本在工具链、运行时和库等方面,有了很多的变化和改进。
特别地,Go 1.11 版本增加了对“模块”(modules)这个新概念的初步支持,这是 GOPATH 的替代方案,集成了对版本控制和软件包分发的支持。使用模块,开发人员将不再局限于在 GOPATH 中工作,其中,版本依赖性的信息是显式而且轻量级的,并且构建项更具有可靠性和可重复性。
目前,模块支持功能仍然处于实验性阶段,根据 Go 1.11 用户的反馈,细节可能会发生变化,Go 开发团队也在计划增加更多工具。
另外,Go 1.11 还为 WebAssembly(js/wasm)添加了一个实验端口,这允许程序员将 Go 程序编译为与四种主流 Web 浏览器兼容的二进制格式。
目前,Go 程序编译为一个 WebAssembly 模块,该模块包括 Go runtime,其大小至少约为 2 MB,或压缩为 500 KB。虽然二进制大小和与其他语言的互操作还不是优先级的,但可能在将来的版本中解决。
此外,该版本还添加了一些其他的功能,包括:
导入路径限制:由于 Go 模块支持在命令行操作中,为符号 @指定特殊的含义 ,因此,该 Go 命令现在不允许使用包含 @符号的导入路径。
Package 加载:新的软件包 golang. org、x、tools、go、packages 提供了一个简单的 API,来定位和加载 Go 源代码包。
编译器工具链:在默认情况下,现在更多函数可以进行内联,包括调用 panic 的函数,编译器工具链现在支持行指令中的列信息,引入了新的包导出数据格式等。
调试:编译器现在可以为优化的二进制文件生成更精确的调试信息,包括可变位置信息、行号和断点位置。
Vet:go vet 命令现在在分析包未进行类型检查时,会报告致命错误。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 我要换个名字都没用到这些特性,现在用go1.13
收起评论