博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go1.5 改进摘要
阅读量:6514 次
发布时间:2019-06-24

本文共 1045 字,大约阅读时间需要 3 分钟。

hot3.png

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, 52.891566}:   "Persepolis",    {-25.352594, 131.034361}: "Uluru",    {37.422455, -122.084306}: "Googleplex",}

工具变化

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

跨平台编译更简单了:

$ export GOOS=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 文件的问题.

标准库部分

转载于:https://my.oschina.net/chai2010/blog/476210

你可能感兴趣的文章
每天一个linux命令(34):du 命令
查看>>
MySQL出现Waiting for table metadata lock的场景浅析
查看>>
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
查看>>
什么是数据埋点?
查看>>
git回滚
查看>>
vue2.0 引用qrcode.js实现获取改变二维码的样式
查看>>
Python 判断闰年,判断日期是当前年的第几天
查看>>
activiti 清库脚本(转)
查看>>
如何快速查看服务器配置信息?
查看>>
caffe blob理解
查看>>
特殊字符校验
查看>>
TensorFlow(1)注解入门代码
查看>>
GCC 中 -L、-rpath和-rpath-link的区别
查看>>
RedHat7下PostGIS源码安装
查看>>
亚马逊AWS学习——VPC里面几个概念的关系
查看>>
context.getSystemService的简单说明
查看>>
php中的正则函数:正则匹配,正则替换,正则分割 所有的操作都不会影响原来的字符串....
查看>>
三个小时学会wordpress模板制作
查看>>
【网络协议】TCP协议简单介绍
查看>>
利用SMB jcifs实现对windows中的共享文件夹的操作
查看>>