Go 2.0 新特性展望:详细

go2.0 会有什么新特性呢?下图是一个老外的调侃,他不希望发生这样的事情(please don't make it happen)。我倒是希望其中一些实现,比如泛型和操作符重载和多态。

Go 1.9 新特性:详细

1,类型别名,type alias

2,新的math/bits

3,新的map类型,Concurrent Map

4,testing Helper

5,monotonic time流失时间计时

6,并行编译,更快的编译速度

Go 1.8 新特性 :详细

  Go 1.8 一个很大的特性就是性能的提升,包括二进制文件的大小、编译速度和运行速度。并且非常大的提升就是提供小于100us GC暂停。net/http提供了更多的超时设置,比如ReadHeaderTimeout、IdleTimeout。

1,Http server  connection draining(连接耗尽)

2,通过 http.Pusher 实现 HTTP/2.0 server push

3,database/sql 增强

4,实现动态插件

5,新的slice排序api,sort.Slice

Go 1.7 新特性:详细

GO 1.7版本发布,主要改进编译器和链接器。Go 1.7 的变化主要在工具链、运行时和库的实现上。语言规范只有一处很小的变化。

1,编译工具链方面,引入 SSA 应该是新版本最大的特性之一。

2,包中的元数据格式从之前的文本格式修改为更紧凑的二进制格式。生成的包会更小。

3,更快的编译速度和执行速度

Go 1.6 新特性:详细

Go 1.6 发布了,该版本在语言本身层面并没有任何变化,主要改进包括:

1,默认使用 cgo 外部 C 编译器

2,支持 HTTP/2 协议

3,增加对 64 位 MIPS 的体验支持 (Linux)

4,增加对 32 位 x86 上的 Android 的体验支持

5,在 FreeBSD 上 go 1.6 默认使用 clang 而不是 gcc 作为外部 C 编译器

Go 1.5 新特性:详细

go1.5是go语言的第六个重要版本。该版本在本次更新中移除了“最后残余的C代码”,Runtime(运行时)、Compiler(编译器)和Linker(连接器)均是由Go语go编写。目前,Go 1.5现已开放下载并支持Windows、Mac OS X和Linux平台。
主要特性如下:

1,编译器和运行时已完全使用Go编写,彻底移除C语言;
2,垃圾收集器现可并行运行,显著降低了收集器的停顿时间;
3,Go程序默认以最大可用内核数量运行(GOMAXPROCS set),之前版本中默认为1;
4,所有资源库(repositories)现已支持内部包,而不仅仅是Go的核心部分;
5,go命令现提供对“vendoring”外部依赖的“实验性支持”;
6,新加入的go指令追踪工具可对程序执行细粒度良好的追踪;
7,新加入的go doc指令(与godoc有区别)可在命令行中专门使用。
8,改进 linker,允许分布式 Go 包作为分享库链接到 Go 程序,可以构建 Go 包到归档或者分享库,可以链接或者通过 C 程序加载。

追踪go语言(golang)的新版本新特性【摘抄】的更多相关文章

  1. Java 8 新特性终极指南

    1.前言 毫无疑问,Java 8的发布是自从Java5以来Java世界中最重大的事件,它在编译器.工具类和Java虚拟机等方面为Java语言带来的很多新特性.在本文中我们將一起关注下这些新变化,使用实 ...

  2. Atitit.go语言golang语言的新的特性  attilax总结

    Atitit.go语言golang语言的新的特性  attilax总结 1. 继承树less  动态接口1 1.1. 按照书中说的,Go语言具有以下的特征,下面我们分别来进行介绍.  q 自动垃圾回收 ...

  3. Java SE 6 新特性: 对脚本语言的支持

    2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Musta ...

  4. Atitit s2018 s3 doc list alldvc.docx .docx s2018 s3f doc compc s2018 s3f doc homepc sum doc dvcCompc dtS312 s2018 s3f doc compc\Atitit PathUtil 工具新特性新版本 v8 s312.docx s2018 s3f doc compc\Atitit 操作日

    Atitit s2018 s3 doc list alldvc.docx .docx s2018 s3f doc compc s2018 s3f doc homepc sum doc dvcCompc ...

  5. Go语言(golang)新发布的1.13中的Error Wrapping深度分析

    Go 1.13发布的功能还有一个值得深入研究的,就是对Error的增强,也是今天我们要分析的 Error Wrapping. 背景 做Go语言开发的,肯定经常用error,但是我们也知道error非常 ...

  6. iOS - OC 语言新特性

    前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力.在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 O ...

  7. iOS - Swift Swift 语言新特性

    1.Swift 2.0 带来哪些新变化 常规变化: 1.OS X 10.11.iOS 9 和 watchOS 2 SDK 采纳了一些 Objective-C 的特性用来提高 Swift 的编程体验, ...

  8. C#语言的新特性及相关信息

     .ENT版本 NET 2.0 :CLR, WinForms ,Wed Services,ASP.NET NET 3.0 :WCF,WF,WPF,CardSpace NET 3.5 :LINQ ,AJ ...

  9. Java语言:JAVA8 十大新特性详解(zz)

    关键词: Lambda表达式.函数式接口.方法与构造函数引用.接口的默认方法 原文地址: http://www.jb51.net/article/48304.htm 本教程将Java8的新特新逐一列出 ...

随机推荐

  1. [BZOJ2238]Mst

    [BZOJ2238]Mst 题目大意: 给你一个\(n(n\le50000)\)个点,\(m(m\le10^5)\)条边的无向带权图.\(q(q\le10^5)\)次询问,每次询问去掉一条边后图能否连 ...

  2. C、C++ 学习经历

    1.可以考虑先学习C. 大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家.做一个有用的程序员,做一个赚钱的程序员.我们的价值,将体现在客户价值上,而不是语言写得 ...

  3. BZOJ2759一个动态树好题 LCT

    题如其名啊 昨天晚上写了一发忘保存 只好今天又码一遍了 将题目中怕$p[i]$看做$i$的$father$ 可以发现每个联通块都是一个基环树 我们对每个基环删掉环上一条边 就可以得到一个森林了 可以用 ...

  4. spring源码分析系列 (2) spring拓展接口BeanPostProcessor

    Spring更多分析--spring源码分析系列 主要分析内容: 一.BeanPostProcessor简述与demo示例 二.BeanPostProcessor源码分析:注册时机和触发点 (源码基于 ...

  5. 解决Cordova开发的iOS的app界面被状态栏覆盖

    解决方法如下: 一:在MainViewController.m中添加如下代码: -(void)viewWillDisappear:(BOOL)animated { if([[[UIDevice cur ...

  6. shell while内获取外部变量内容

    一.问题 问题很简单,看下面一段tmp.sh代码: #!/bin/sh x="this is the initial value of x" cat /tmp/tmp | whil ...

  7. MySql之删除操作

    一:删除特定行 DELETE FROM 表名 WHERE 条件: 二:删除所有行 TRUNCATE TABLE 表名; //删除重建一张表

  8. Python操作redis系列之 列表(list) (五)

    # -*- coding: utf- -*- import redis r =redis.Redis(host=,password=") 1. Lpush 命令将一个或多个值插入到列表头部. ...

  9. java的两种同步方式, Synchronized与ReentrantLock的区别

    java在编写多线程程序时,为了保证线程安全,需要对数据同步,经常用到两种同步方式就是Synchronized和重入锁ReentrantLock. 相似点: 这两种同步方式有很多相似之处,它们都是加锁 ...

  10. 对象拷贝:jQuery extend

    今天操作一个Array数组对象,本来想着先取出该数组某一行数据,然后把该数据当作另一份数据进行操作. 结果发现,对该数据操作的同时,也对Array数组进行了修改,因为这个数据指向了array数组对象. ...