• 技术文章 >后端开发 >Golang

    golang1.11改了哪里东西

    (*-*)浩(*-*)浩2019-12-31 14:07:49原创903

    正如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核实处理。
    专题推荐:golang1.11
    上一篇:golang怎么判断数组是否为空 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • golang 如何开启协程• golang 如何类型转换• golang判断map中指定key是否存在• golang 如何模块化
    1/1

    PHP中文网