写点什么

Go 1.3 正式版发布

  • 2014-06-19
  • 本文字数:1093 字

    阅读完需:约 4 分钟

6 月 18 日,在 Go 1.2 发布六个月之后,Go 官方宣布正式发布 Go 1.3。Go 1.3 并没有引入新的语言功能,只是进行了功能改进,并修复了一些 bug 以及用户的反馈。新的版本开始支持 DragonFly BSD、Solaris、Plan 9 和 Google 的 NaCl( Native Client),且显著改进了链接器和编译器。低版本的 Go 语言用户无需更改任何代码即可升级到 Go 1.3。

Go 语言是由 Google 开发的一个开源项目,目的之一是为了提高开发人员的编程效率。Go 语言的并行机制使其很容易编写多核和网络应用, 而重新设计的的类型系统允许构建有弹性的模块化程序。Go 语言可以快读编译为机器码, 同时具有高效的垃圾回收和强大的运行时反射。它是一门快速的、静态类型的编译语言, 但是感觉上却是动态类型的解释型语言。

Go 1.3 仍在向承诺的目标(更快、更简单)前进,主要改进包括:

  1. 改进了内存模型。在缓冲的 channel 发送和接收数据时增加了一条规则,使缓冲的 channel 可以被用作一个简单的信号灯(Semaphore)。
  2. 不再支持 Windows 2000。微软在 2010 年时就不再支持 Windows 2000,现在 Go 1.3 也放弃对它的支持。
  3. 支持 BSD 和 Solaris 系统。Go 1.3 开始支持 DragonFly BSD、FreeBSD、NetBSD、OpenBSD、Plan 9、Solaris,但对这些系统的支持都有一些其他特殊要求,比如对 FreeBSD 的支持必须要求内核编译时配置COMPAT_FREEBSD32参数。
  4. 支持 Native Client 虚拟机架构。Go 1.3 既可以在 32 位 Inter 架构处理器上 ( GOARCH=386 ) 运行,也能在 64 位 Intel 架构上运行,但是在 64 位架构上使用的是 32 位 pointer,对于 ARM 架构暂不支持。关于 Native Client 的介绍可以阅读其官方介绍
  5. 改进了栈的实现方式。将栈实现方式从分段(segmented)模型改为连续(contiguous)模型。当一个 goroutine( Go 语言提供的一种用户态线程)需要更多的栈空间且超过了可用大小时,栈会被转移到一个单独的更大的内存块。
  6. 改进了垃圾回收机制。Go 已经在堆上实现了精准的垃圾回收,Go 1.3 增加了栈上的垃圾回收。另外,GC 的速度也得到了提升,现在采用的是并发清除算法,可以缩短 50-70% 的 GC 中断时间。
  7. 重构了链接器。对链接器和编译器进行了重构,链接器仍然是使用 C 语言编写,但是指令选择阶段被移入到编译器中并创建了一个新的包liblink。指令选择只会在程序包被编译时执行一次,所以这这样可以加快大幅度提升大工程的编译速度。
  8. 其它的一些改进。比如实现了新的正则表达式引擎、更快的 race detector、默认栈的大小从 8K 变为 4K 字节、资源竞争的检测快了 40%、增加了很多新参数等。

读者可以在这里下载 Go 1.3。详细的改进说明可以阅读官方文档。不能翻墙的用户可以使用社区提供的镜像来下载。

2014-06-19 20:113595
用户头像

发布了 219 篇内容, 共 140.9 次阅读, 收获喜欢 193 次。

关注

评论

发布
暂无评论
发现更多内容

即时通讯是怎么做到的?

v16629866266

视频课程|Kube-OVN 入门与应用实战 (第4期)

York

灵雀云 Kubernetes k8s Kube-OVN

@Repeatable注解作用

张健

当我们谈论云原生网络时,Kube-OVN 究竟能带来什么?(下)|视频回顾

York

灵雀云 Kubernetes k8s Kube-OVN

容器网络方案调研:都是网络插件,Kube-OVN凭啥脱颖而出?

York

灵雀云 Kubernetes k8s Kube-OVN

TCP波场拼智能合约系统开发技术

薇電13242772558

智能合约 dapp

视频课程|Kube-OVN 入门与应用实战 (第1期)

York

灵雀云 Kubernetes k8s Kube-OVN

Spring Cloud(零)《总有一偏概述告诉你SpringCloud是什么》

小傅哥

小傅哥 springboot 28天写作

【架构中的物联网】影子机制

soolaugust

架构 物联网 28天写作

架构师训练营第 1 期 -大作业2

习习

区块链挖矿软件系统开发|区块链挖矿APP开发

系统开发

2021年阿里巴巴面试参考指南泰山版开源(Java版)

Java架构追梦

Java 架构 面试 分布式 微服务

2021年的28天写作,从微信视频号开始

赵新龙

法庭上的CTO 28天写作

28 天写作营 Day 1--120%的技术人员体系

张老蔫

28天写作

MDF智能合约系统开发技术

薇電13242772558

智能合约 dapp

OVS 设计与实现阅读笔记,五年前的这篇论文里这些问题已经明了

York

Kubernetes k8s Kube-OVN

Spark 扫描 HDFS lzo/gz/orc异常压缩文件

kwang

大数据 spark hdfs

架构师训练营第 1 期 - 大作业 1

习习

又双叕更新,开源网络插件Kube-OVN 1.4.0 版发布!支持跨集群容器网络、NetworkPolicy 日志

York

灵雀云 Kubernetes k8s Kube-OVN

剖析JDK:强引用、软引用、弱引用、虚引用有何区别?

后台技术汇

28天写作

“58同城”架构师分享:联盟广告平台架构及实践

Java架构师迁哥

区块链多币种钱包系统软件开发|区块链多币种钱包APP开发

系统开发

面向开发者的播客清单

LeanCloud

程序员 开发者 苹果 私有云 播客

代码整洁之道

田维常

代码

20 行代码:Serverless 架构下用 Python 轻松搞定图像分类和预测

Serverless Devs

Python 人工智能 Serverless 云原生

DeFi去中心化金融借贷系统开发有哪些需要了解的?

W13902449729

defi 去中心化金融借贷系统开发

视频课程|Kube-OVN 入门与应用实战 (第3期)

York

灵雀云 Kubernetes k8s Kube-OVN

电商后链路如何做好私域运营?

Linkflow

客户数据平台 CDP 客户画像

性能压测工具-JAVA

微信沟通小技巧

熊斌

远程办公 职场成长 远程协作 28天写作

视频课程|Kube-OVN 入门与应用实战 (第2期)

York

灵雀云 Kubernetes k8s Kube-OVN

Go 1.3正式版发布_Google_小盖_InfoQ精选文章