Go 部落格
Go 1.8 釋出
今天,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/sql 和 net 包,以及 `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 使用者調查和公司問卷
部落格索引