Go 各版本特性
Go 1.11 新特性 详细
最新的Go版本1.11版本在Go 1.10之后六个月到达。它的大部分变化都在于工具链,运行时和库的实现。与往常一样,该版本保持了Go 1 的兼容性承诺。我们希望几乎所有的Go程序都能像以前一样继续编译和运行。
**Go 1.10 新特性 详细**
最新的Go版本1.10版本在Go 1.9发布六个月后推出。它的大部分变化都在于工具链,运行时和库的实现。与往常一样,该版本保持了Go 1 的兼容性承诺。我们希望几乎所有的Go程序都能像以前一样继续编译和运行。
添加了成功测试结果的缓存,在测试期间自动运行vet,并允许使用cgo直接在Go和C之间传递字符串值。
新的编译器选项白名单可能会invalid flag
在使用旧版本成功构建的代码中导致意外错误。
Go 1.9 新特性 详细
最新的Go版本1.9,在Go 1.8发布六个月后推出,是Go 1.x系列的第十个版本。该语言有两处更改:添加对类型别名的支持,以及定义实现何时融合浮点运算。大多数更改都在工具链,运行时和库的实现中。与往常一样,该版本保持了Go 1 的兼容性承诺。我们希望几乎所有的Go程序都能像以前一样继续编译和运行。
Go 1.8 新特性 详细
最新的Go版本1.8版本在Go 1.7发布六个月后推出。它的大部分变化都在于工具链,运行时和库的实现。语言规范有两个小的变化。与往常一样,该版本保持了Go 1 的兼容性承诺。我们希望几乎所有的Go程序都能像以前一样继续编译和运行。
- 该版本增加了对32位MIPS的支持;
- 更新编译器后端以生成更高效的代码;
- 通过消除世界各地的堆栈重新扫描减少GC暂停;
- 添加HTTP / 2推送支持, 添加HTTP正常关闭;
- 添加更多上下文支持;
- 支持分析互斥体,并简化排序切片。
Go 1.7 新特性 详细
最新的Go版本1.7,在1.6之后的六个月到来。它的大部分变化都在于工具链,运行时和库的实现。语言规范有一个小的改动。与往常一样,该版本保持了Go 1 的兼容性承诺。我们希望几乎所有的Go程序都能像以前一样继续编译和运行。
- 该版本为IBM LinuxOne添加了一个端口 ;
- 更新x86-64编译器后端以生成更高效的代码;
- 包括从 x / net子存储 库中提升并现在在标准库中使用的上下文包 ;
- 并在测试包中添加了对创建测试和基准测试层次结构的支持。该版本还完成了 Go 1.5中开始的销售支持,使其成为标准功能。
Go 1.6 新特性 详细
Go 1.6 发布了,该版本在语言本身层面并没有任何变化,主要改进包括:
- 默认使用 cgo 外部 C 编译器
- 支持 HTTP/2 协议
- 增加对 64 位 MIPS 的体验支持 (Linux)
- 增加对 32 位 x86 上的 Android 的体验支持
- 在 FreeBSD 上 go 1.6 默认使用 clang 而不是 gcc 作为外部 C 编译器
Go 1.5 新特性 详细
最新的Go版本1.5版是一个重要版本,包括对实现的主要体系结构更改。尽管如此,我们希望几乎所有Go程序都能像以前一样继续编译和运行,因为该版本仍然保持Go 1 承诺的兼容性。
实施的最大进展是:
- 编译器和运行时现在完全用Go编写(带有一点汇编程序)。C不再参与实现,因此曾经构建分发所必需的C编译器消失了。
- 垃圾收集器现在是并发的,并且在可能的情况下与其他goroutine并行运行,从而显着降低了暂停时间。
- 默认情况下,Go程序运行时
GOMAXPROCS
设置为可用的核心数; 在之前的版本中它默认为1。 - 现在为所有存储库提供了 对内部包的支持,而不仅仅是Go核心。
- 该
go
命令现在为“销售”外部依赖项提供实验支持。 - 新
go tool trace
命令支持细粒度的程序执行跟踪。 - 为命令行使用自定义 新
go doc
命令(不同于godoc
)。
下面讨论这些以及对实现和工具的许多其他更改。
该版本还包含一个涉及地图文字的小语言更改。