追蹤go語言(golang)的新版本新特性【摘抄】

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 程序加載。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章