追踪go语言(golang)的新版本新特性【摘抄】

Go 2.0 新特性展望:详细

go2.0 会有什么新特性呢?下图是一个老外的调侃,他不希望发生这样的事情(please don't make it happen)。我倒是希望其中一些实现,比如泛型操作符重载多态。

 

Go 1.9 新特性:详细

1,类型别名,type alias

2,新的math/bits

3,新的map类型,Concurrent Map

4,testing Helper

5,monotonic time流失时间计时

6,并行编译,更快的编译速度

 

Go 1.8 新特性 :详细

  Go 1.8 一个很大的特性就是性能的提升,包括二进制文件的大小、编译速度和运行速度。并且非常大的提升就是提供小于100us GC暂停。net/http提供了更多的超时设置,比如ReadHeaderTimeout、IdleTimeout。

1,Http server  connection draining(连接耗尽)

2,通过 http.Pusher 实现 HTTP/2.0 server push

3,database/sql 增强

4,实现动态插件

5,新的slice排序api,sort.Slice

 

Go 1.7 新特性:详细

GO 1.7版本发布,主要改进编译器和链接器。Go 1.7 的变化主要在工具链、运行时和库的实现上。语言规范只有一处很小的变化。

1,编译工具链方面,引入 SSA 应该是新版本最大的特性之一。

2,包中的元数据格式从之前的文本格式修改为更紧凑的二进制格式。生成的包会更小。

3,更快的编译速度和执行速度

 

Go 1.6 新特性:详细

Go 1.6 发布了,该版本在语言本身层面并没有任何变化,主要改进包括:

1,默认使用 cgo 外部 C 编译器

2,支持 HTTP/2 协议

3,增加对 64 位 MIPS 的体验支持 (Linux)

4,增加对 32 位 x86 上的 Android 的体验支持

5,在 FreeBSD 上 go 1.6 默认使用 clang 而不是 gcc 作为外部 C 编译器

Go 1.5 新特性:详细

go1.5是go语言的第六个重要版本。该版本在本次更新中移除了“最后残余的C代码”,Runtime(运行时)、Compiler(编译器)和Linker(连接器)均是由Go语go编写。目前,Go 1.5现已开放下载并支持Windows、Mac OS X和Linux平台。
主要特性如下:

1,编译器和运行时已完全使用Go编写,彻底移除C语言;
2,垃圾收集器现可并行运行,显著降低了收集器的停顿时间;
3,Go程序默认以最大可用内核数量运行(GOMAXPROCS set),之前版本中默认为1;
4,所有资源库(repositories)现已支持内部包,而不仅仅是Go的核心部分;
5,go命令现提供对“vendoring”外部依赖的“实验性支持”;
6,新加入的go指令追踪工具可对程序执行细粒度良好的追踪;
7,新加入的go doc指令(与godoc有区别)可在命令行中专门使用。
8,改进 linker,允许分布式 Go 包作为分享库链接到 Go 程序,可以构建 Go 包到归档或者分享库,可以链接或者通过 C 程序加载。

 

posted @ 2017-12-06 10:32  柒零壹  阅读(8337)  评论(0编辑  收藏  举报