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 程序加载。
有疑问加站长微信联系(非本文作者)