首页  >  文章  >  后端开发  >  golang1.11改了哪里东西

golang1.11改了哪里东西

(*-*)浩
(*-*)浩原创
2019-12-31 14:07:492421浏览

golang1.11改了哪里东西

正如Go 1.10发行说明中所宣布的那样,Go 1.11现在需要OpenBSD 6.2或更高版本,macOS 10.10 Yosemite或更高版本,或Windows 7或更高版本;删除了对这些操作系统的早期版本的支持。

-msan现在支持 内存清理器()linux/arm64。                                             (推荐学习:go

现在支持 构建模式c-shared和。 c-archivefreebsd/amd64

在64位MIPS系统上,新的环境变量设置 GOMIPS64=hardfloat(默认设置)并 GOMIPS64=softfloat选择是将硬件指令还是软件仿真用于浮点计算。对于32位的系统中,环境变量仍然GOMIPS,因为在Go 1.10加入。

在软浮点ARM系统(GOARM=5)上,Go现在使用了更高效的软件浮点接口。这对于Go代码是透明的,但是使用不受GOARM保护的浮点指令的ARM程序集将中断,必须将其移植到新接口。

在ARMv7上运行1.11不再需要配置了Linux内核KUSER_HELPERS。此设置在默认内核配置中启用,但有时在精简配置中被禁用。

Web组装

Go 1.11向WebAssembly (js/wasm)添加了一个实验端口。

Go程序当前可编译到一个WebAssembly模块,该模块包括Go运行时,用于goroutine调度,垃圾回收,地图等。因此,结果大小至少约为2 MB,或压缩后500 KB。Go程序可以使用新的实验syscall/js包调用JavaScript 。二进制大小和与其他语言的互操作尚未成为优先事项,但将来的发行版中可能会解决。

由于添加了新的GOOS值“ js”和GOARCH值“ wasm”,Go工具现在将忽略名为*_js.go或的Go文件,除非使用了那些GOOS / GOARCH值。如果您已有与这些模式匹配的文件名,则需要重命名它们。 *_wasm.go

模块,软件包版本控制和依赖项管理

Go 1.11添加了对称为“模块” 的新概念的初步支持,这是GOPATH的替代方案,具有对版本控制和程序包分发的集成支持。使用模块,开发人员不再局限于在GOPATH中工作,版本相关性信息是明确而轻巧的,并且构建更加可靠和可复制。

模块支持被认为是实验性的。根据Go 1.11用户的反馈,详细信息可能会更改,并且我们计划了更多工具。尽管模块支持的详细信息可能会更改,但是使用Go 1.11转换为模块的项目将继续在Go 1.12和更高版本中使用。

构建缓存要求

Go 1.11将是支持将环境变量设置GOCACHE=off为禁用构建缓存的最新 版本,Go 1.10中引入了该功能。从Go 1.12开始,将需要构建缓存,这是消除的一步$GOPATH/pkg。上面描述的模块和程序包加载支持已经要求启用构建缓存。

以上是golang1.11改了哪里东西的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn