Go 各版本特性

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)。

下面讨论这些以及对实现和工具的许多其他更改。

该版本还包含一个涉及地图文字的小语言更改。

发布历史

links

  • 目录

你可能感兴趣的:(开源,go)