Go 部落格

Go 1.8 已發布

Chris Broadfoot
2017 年 2 月 16 日

今天,Go 團隊很高興宣布 Go 1.8 已發布。您可以在 下載頁面 取得。標準程式庫有許多顯著的效能提升和變更。

Go 1.7 中針對 64 位元 x86 引入的編譯器後端現在已用於所有架構,這些架構應可看到顯著的 效能提升。例如,我們的基準程式在 32 位元 ARM 系統上所需要的 CPU 時間減少了 20-30%。此版本在 64 位元 x86 系統上也有些微幅的效能提升。編譯器和連結器已經變得更快。與 Go 1.7 相比,編譯時間應可提升約 15%。這個領域仍然有許多工作要完成:期待稍後推出的版本會有更快速的編譯速度。

垃圾收集暫停時間應會 顯著縮短,通常小於 100 微秒,且經常低至 10 微秒。

HTTP 伺服器增加了對 HTTP/2 Push 的支援,允許伺服器主動將回應傳送給用戶端。透過消除往返行程,這有助於降低網路延遲。HTTP 伺服器也增加了對 優雅關閉 的支援,允許伺服器只在處理完所有正在執行的要求後才關閉,進而降低停機時間。

Context(在 Go 1.7 加入標準函式庫)提供取消與逾時機制。Go 1.8 增加了支援更多標準函式庫中的 context,包括 database/sqlnet 套件,還有 net/http 套件中的 Server.Shutdown

現在使用 sort 套件中新增加的 Slice 函式來排序切片變得更加容易。例如,要透過結構的 Name 欄位來排序切片

sort.Slice(s, func(i, j int) bool { return s[i].Name < s[j].Name })

Go 1.8 包含更多新增功能、改善內容,以及修正問題。可在 Go 1.8 發行說明 中找到所有變更集,以及上面列出的改善內容的更多資訊。

為慶祝發行,全球的 Go 使用者團體本週舉辦 發行派對。發行派對已成為 Go 社群的傳統,所以如果你這次錯過了,記得在接近 1.9 時留意。

感謝超過 200 名貢獻者協助完成這次發行。

下一篇文章: Go 2016 年調查結果
上一篇文章: 參與 2016 年 Go 使用者調查和公司問卷
部落格首頁