golang版本特性,自举之后的版本
共 1083字,需浏览 3分钟
·
2023-08-07 18:35
Go 1.5
1. 编译器和运行时现在完全用Go编写(带有一点汇编程序),实现自举
2. GC是并发的,并且在可能的情况下与其他goroutine并行运行,从而显着降低了暂停STW时间
3. 默认情况下,Go程序运行时GOMAXPROCS设置为可用的核心数; 在之前的版本中它默认为1
Go 1.6
1. 默认使用 cgo 外部 C 编译器,支持go调用c代码或者c库
2. 支持http/2协议
Go 1.7
1. 从x/net子库中提升context到标准库
2. 正式支持vendor
Go 1.8
1. 添加http/2推送 添加更多content(上下文)支持
2. 减少GC停顿
Go 1.9
1. math/bits 包,这是一个新包,它对操作 bits 进行了优化
2. 并行编译,Go 1.9 编译器支持并行编译包中的函数,利用多个处理器内核
3. 类型别名的支持,同时支持在程序包之间移动类型
4. sync 包中的新 Map 类型, 并发Map
5. 改进测试能力
Go 1.10
1. 构建包的缓存
2. 添加了成功测试结果的缓存
3. 并允许使用cgo直接在Go和C之间传递字符串值
Go 1.11
1. modules”的新概念的初步支持,这是GOPATH的替代方案,集成了对版本控制和软件包分发的支持
2. WebAssembly支持,员将Go程序编译为与四种主要Web浏览器兼容的二进制格式
Go 1.12
1. Go Module 进一步支持
2. crypto/tls包中添加了对 TLS 1.3 的选择支持
Go 1.13
1. Go modules大规模使用,GOPROXY=proxy1,proxy2,proxy,direct 下载库包的时逐个试用各个代理,直到可用的为止。direct表示直连
2. 更多的数字字面量和改进的panic信息