七叶笔记 » golang编程 » Golang 1.10 前瞻

Golang 1.10 前瞻

作者:尼不要逗了

Golang 1.10 beta 已经 release 了,Golang 1.10 正式发布将在 2018 年 2 月份,我们不妨先来看一下 1.10 的特性。大家可以从这个链接 go1.10 beta 进行下载安装。验证输出如下就是安装成功了。

1. 兼容性

语言本身依然向前兼容,操作系统和上一个版本也没有区别。值得注意的是 Go 1.10 将是最后一个可以运行在 OS X 10.8 的版本,Go 1.11 要求 OS 系统为 10.9 以及更新的系统。其他操作系统要求在 Go 1.11 也有调整。

2. 工具链

1. Build & Install

现在 build 的时候基于最新的 源码 来进行编译。

2. Test

Test 会将结果进行 缓存 。我觉得这不见得是一个好的机制。

另外执行 go test 会自动执行 go vet。

3. Diagnostics

新增overview of available Go program diagnostic tools.

3. Runtime

Lock OSThread 和 UnlockOSThread 锁的行为现在是可嵌套的(nested)。这两个函数的作用是将 goroutine 绑定到特定的操作系统 线程 上,之前的 go 版本的行为是多次 Lock 等同于一次 Lock,所以不管调用多少次 Lock 只要调用了一次 Unlock 就会达到解锁的目的。

另外GOMAXPROCS的设置目前没有限制了。(在 1.9 的时候限制为 1024)。

4. Performance

略有提升。

5. GC

微调。

6. 标准库

标准库的改动都比较小,涉及改动的 package 包括 crypto, encoding 等,下面介绍几个我觉得值得关注的改动。

相关文章