Go 1.9 发布,包含语言,标准库,以及运行时的诸多变化 - 开源中国社区
Go 1.9 发布,包含语言,标准库,以及运行时的诸多变化
两味真火 2017年08月25日

Go 1.9 发布,包含语言,标准库,以及运行时的诸多变化

两味真火 两味真火 发布于2017年08月25日 收藏 12

有免费的MySQL,为什么还要买? >>>  

今天Go团队很高兴地宣布发布1.9版本。现可供下载。发行说明中最突出得的是包含语言,标准库,以及运行时的诸多变化。这个版本中的大部分工作都是对运行时和工具的改进。

主要更新内容如下:

  • 对语言的最重要的改变是引入类型别名:支持渐进代码修复。

  • 新的 math/bits 包提供了无符号整数的位计数和操作功能,如果可能的话,由特殊CPU指令实现。

  • sync package 增加了一个新的 Map  类型,提升并发访问安全。

  • 测试包方面,新的辅助方法添加到 testing.T 和 testing.B,让调用函数成为测试的辅助函数。当测试包打印文件和线的信息,它显示调用helper函数的位置而不是在帮助函数本身的线。

  • 现在,时间包透明地跟踪每个时间值的 monotonic time ,使两个时间之间的差值计算不受墙上时钟调整的影响。详细信息请查阅 package docs 和 design document 。

完整内容清查看发行说明更新日志

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Go 1.9 发布,包含语言,标准库,以及运行时的诸多变化
分享
评论(51)
精彩评论
13

引用来自“koalaone”的评论

1.9出了,2.0不远了
nonono,1.10
要集体高潮了
6
啥时候用 Go 替换 C++ 写个 Chrome 出来?
5
终于等来了
4
有了泛型,语法级别就完美了。。。
最新评论
0

引用来自“Raymin”的评论

啥时候用 Go 替换 C++ 写个 Chrome 出来?

引用来自“eechen”的评论

Go跟Java一样,都是单进程多线程架构,都有全局GC,所以都会出现全局卡顿(stop-the-world).
Go通过线程调度协程goroutine处理并发,通过channel同步数据(全局变量),Java则没有内置实现这些特性.
Go调度协程有CPU开销,保存协程上下文有内存开销,性能不如事件驱动异步回调的编程模型.

引用来自“鱼米三香”的评论

单进程?你确定你用过Golang么

引用来自“eechen”的评论

那我就问了.假设Go程序有2个进程A和B,
那么进程A里的goroutine可以直接跟
进程B里的goroutine通过channel进行通信么?
如果是erlang,语法层面保证了erlang 线程间没有数据共享,GC不需要stop the world。
erlang里channel可以自动多线程运行,但是加了锁效率不好。
也可以人为去为每个cpu或者每台服务器分配erlang节点,互相用节点通信语法通信。

go不是很清楚,其实蛮期待java也发展出这样的语法的,通过人工划分共享区域,实现无全局GC或者无GC(可用区销毁当场整体可以瞬间释放空间,不需要各种gc算法精确确保哪些需要释放,因为语法保证可用区间无共享)的模式。
0

引用来自“Raymin”的评论

啥时候用 Go 替换 C++ 写个 Chrome 出来?

引用来自“eechen”的评论

Go跟Java一样,都是单进程多线程架构,都有全局GC,所以都会出现全局卡顿(stop-the-world).
Go通过线程调度协程goroutine处理并发,通过channel同步数据(全局变量),Java则没有内置实现这些特性.
Go调度协程有CPU开销,保存协程上下文有内存开销,性能不如事件驱动异步回调的编程模型.

引用来自“鱼米三香”的评论

单进程?你确定你用过Golang么
那我就问了.假设Go程序有2个进程A和B,
那么进程A里的goroutine可以直接跟
进程B里的goroutine通过channel进行通信么?
0

引用来自“Raymin”的评论

啥时候用 Go 替换 C++ 写个 Chrome 出来?

引用来自“eechen”的评论

Go跟Java一样,都是单进程多线程架构,都有全局GC,所以都会出现全局卡顿(stop-the-world).
Go通过线程调度协程goroutine处理并发,通过channel同步数据(全局变量),Java则没有内置实现这些特性.
Go调度协程有CPU开销,保存协程上下文有内存开销,性能不如事件驱动异步回调的编程模型.
单进程?你确定你用过Golang么
0

引用来自“郭大鹏”的评论

居然换了个目录……
/usr/local/go/bin/go
/usr/local/Cellar/go/1.8.3/bin/go
真是搞事情……

引用来自“testphp1”的评论

大哥 一个是brew 安装的目录 一个是官方包目录 不要秀智商 好么
@testphp1 我擦,我忘记了,还有这事情。
0

引用来自“Raymin”的评论

啥时候用 Go 替换 C++ 写个 Chrome 出来?
Go跟Java一样,都是单进程多线程架构,都有全局GC,所以都会出现全局卡顿(stop-the-world).
Go通过线程调度协程goroutine处理并发,通过channel同步数据(全局变量),Java则没有内置实现这些特性.
Go调度协程有CPU开销,保存协程上下文有内存开销,性能不如事件驱动异步回调的编程模型.
0

引用来自“koalaone”的评论

1.9出了,2.0不远了
boost 1.65
0

引用来自“Raymin”的评论

啥时候用 Go 替换 C++ 写个 Chrome 出来?
拿一个带GC的语言去写JS的GC,会发生什么?:new_moon_with_face:
0

引用来自“hzh62”的评论

有了泛型,语法级别就完美了。。。
目前interface还是可以一战
1

引用来自“limchuenyu”的评论

能开发GUI就完美了
Qt绑定,你值得拥有 https://github.com/therecipe/qt
1
`墙上时钟调整` 是什么乱七八糟的翻译
1
GO吹奔走相告。。
0

引用来自“limchuenyu”的评论

能开发GUI就完美了

引用来自“谁杀了我的牛”的评论

你需要 go-sciter
go-sciter不好用,js、css有诸多限制,无法使用大部分现成的js库。推荐 go-astilectron,这个不错。
0

引用来自“limchuenyu”的评论

能开发GUI就完美了
你需要 go-sciter
0
homebrew search go@1.9目前还没有收录,brew有外链方式安装上吗
0
1.8版本的·golang之后,都很不错了
6
啥时候用 Go 替换 C++ 写个 Chrome 出来?
2

引用来自“郭大鹏”的评论

居然换了个目录……
/usr/local/go/bin/go
/usr/local/Cellar/go/1.8.3/bin/go
真是搞事情……
大哥 一个是brew 安装的目录 一个是官方包目录 不要秀智商 好么
0
居然换了个目录……
/usr/local/go/bin/go
/usr/local/Cellar/go/1.8.3/bin/go
真是搞事情……
0
英语从来都要好好学
0
1.10已经在路上
顶部