加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Go1.5 改进摘要

发布时间:2020-12-16 18:41:15 所属栏目:大数据 来源:网络整理
导读:Go1.5 改进简介 1. 纯Go(+少量汇编)实现 runtime 和 编译器 2. 改进 垃圾回收器,支持并发 (有个指标好像是 停顿在 10 毫秒以内). 3. GOMAXPROCS默认值改为 CPU 核数 4. internal限制规则推广到第三方包 (之前只有 std 包启用) 5. 增加 vendor 支持,基本解决

Go1.5改进简介

1.纯Go(+少量汇编)实现 runtime 和 编译器

2.改进 垃圾回收器,支持并发 (有个指标好像是 停顿在 10 毫秒以内).

3.GOMAXPROCS默认值改为 CPU 核数

4.internal限制规则推广到第三方包 (之前只有 std 包启用)

5.增加 vendor 支持,基本解决 第三方库的依赖问题和版本问题

6.增加 trace 命令,更友好的剖析程序运行状态

7.增加 go doc 命令


语法变化

增加 map 字面量. 以前的代码:

m :=map[Point]string{  
Point{29.935523,52.891566}:   "Persepolis",Point{-25.352594,131.034361}:"Uluru",Point{37.422455,-122.084306}: "Googleplex",}

现在不需要每个都写Point了:

m :=map[Point]string{    
{29.935523,{-25.352594,{37.422455,}


工具变化

之前的 6g/8g 之类的命令合并为一个了: go tool compile,
汇编器和连接器也同样合并为一个了: go tool asm,go tool link.
目标文件统一用 .o 为后缀.

跨平台编译更简单了:

$ exportGOOS=darwin GOARCH=amd64
$ go tool compile program.go
$ go tool link program.o

另外,vetcover已经稳定,移到核心仓库.

go build增加了-buildmode参数(Windows还不支持),
可以生成给C/C++使用的动态库和静态库(会有人用Go给Python/Ruby之类的语言写扩展吗?).

cgo 部分,Windows 终于支持外部链接,也就是可以静态编译链接C++库了.
同时,增加了一个
${SRCDIR}参数,用于解决 link 时 当前目录变化导致找不到.a文件的问题.


标准库部分

http://tip.golang.org/doc/go1.5#library


感谢作者:chai2010

查看原文:Go1.5 改进摘要


关于我们:

码术微信号:codemanship

简介:“码术”致力于为探索程序世界,提升代码质量。加入“码术”,一起畅游01世界。目前,“码术”正在关注golang语言。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读