Go 1.11来了!可将Go程式码编译为WebAssembly
2018-08-27 16:55:07 | 来源:ithome | 投稿:小艾 | 编辑:dations

原标题:Go 1.11来了!可将Go程式码编译为WebAssembly

在今年4月,Go官方就预告即将支援Go编译成WebAssembly,一展取代Javascript的野心,而这个功能就在上周五释出的最新版本Go中实现了,虽然1.11是个小更新,但除了WebAssembly的支援外,也加入了模组概念,另外还更新了工具链、Runtime和函式库。

Go△1.11新加入了模组的概念,这是整合了版本控制以及套件发布的GOPATH替代方案。使用模组,开发者不再受局限于GOPATH中工作,版本相依成为外显资讯并且更加轻量,程式建置也将更可靠,并且具可重复性。目前模组支援仍在实验阶段,存在一些已知的问题正待解决,也会根据使用者的回馈进行改进,因此细节可能发生变化,虽然如此,但官方承诺,在Go△1.11转换使用模组的专案,将能在Go△1.12或更高版本中继续运作。

因为Go模组的支援,在命令列中#符号被指派了特殊意义,因此Go命令现在不允许使用包含#符号的导入路径,由于Go△Get本来就无法使用这样的导入路径,所以这样的限制只会影响由其他方法建置客制化GOPATH树的专案。

在WebAssembly编译功能支援方面,现在Go△1.11增加了一个WebAssembly实验性埠口,Go程式现在可以编译成一个WebAssembly模组,该模组包含goroutine△调度、垃圾回收与Maps等功能的Go△Runtime,整体大小约在2MB左右,压缩后可下降到500KB。Go程式现在可使用新的实验性syscall/js套件呼叫JavaScript。由于新增了GOOS值js以及GOARCH值wasm,除了那些正在被使用GOOS/GOARCH值外,Go工具现在会忽略名为*_js.go或*_wasm.go的Go档案。使用者需要重新命名不符合规则的档案名称。

Go△1.11的编译器现在会为最佳化的二进位档案提供更为精准的除错资讯,包含变数位置资讯、行数以及中断点位置,这将能在不使用-N△-l的情况下,为编译的二进位档除错,不过这些除错资讯仍有其限制,有些是根本上的限制,官方提到,将会在未来继续修正除错功能。

Runtime更新的部分,现在使用稀疏堆积布局(Sparse△Heap△Layout),因此堆积将解除之前512GiB的大小限制,而这也解决了Go/C二进位档或以-race编译的二进位档,在少数情况会出现的位置空间冲突错误。官方提到,更新到Go△1.11,绝大多数的应用程序效能都会提升,但是很难直接说是哪一个改进造成的,因为Go新版本在程式码生成以及核心函式库的最佳化,都是效能提升的推手。

而官方在Go△1.10释出时,就曾公告支援的作业系统版本将提升,因此Go△1.11现在需要OpenBSD△6.2或更高版本,macOS△10.10 Yosemite或更高版本,以及Windows△7或更高版本,对较旧版本的作业系统将不再支援。

tags:

上一篇  下一篇

相关:

微软赞助、可分辨新闻网站可信度的免费浏览器扩充程式NewsGuard问世了

图片来源: Chrome△Web△Store NewsGuard△Technologies在上周释出了一个由微软赞助,同时支援Microsoft△Edge与Google△Chrome的同名扩充程式,它以9项标准帮数千个新闻或资讯网站建立可信度评分,若使用者造访的是

脸书遭爆其日志收集伺服器存在远端程式码执行漏洞

资安工程师Daniel△Le△Gall在SCRT资讯安全博客发表文章,他发现脸书一台伺服器存在远端程式码执行漏洞,在他回报脸书后,脸书已经修正漏洞并给作者5,000美元作为奖励。Daniel△Le△Gall经常性的对有参加Bug△Bounty

Apache软件基金会修补Struts 2的远端程式攻击漏洞

图片来源: Man△Yue△Mo Apache软件基金会(Apache△Software△Foundation)于本周三(8/22)修补了Apache△Struts△2中一个可能会引发远端程式攻击的安全漏洞,有鉴于Apache△Struts△2过去出现类似的重大漏洞时,相

你想念Windows 95吗?来,这里有程式可以装

图片来源: 维基百科,微软 Slack软件工程师Felix△Rieseberg利用开源软件框架Electron把微软的Windows△95作业系统变成可在任何平台上执行的应用程序,并在周四(8/23)借由GitHub释出。Windows△95是微软在1995年推

Adobe紧急修补Photoshop CC的两个远端程式攻击漏洞

图片来源: Adobe Adobe于本周二(8/21)紧急修补了Photoshop△CC的两个远端程式攻击漏洞,由于Adobe的例行性修补日与微软一样,都是在每个月的第二个星期二,本月的修补日为上周二(8/14),破例在本周修补可突显这两

站长推荐: