Go 部落格
Go 1.5 釋出
今天,Go 專案自豪地釋出了 Go 1.5,這是 Go 的第六個主要穩定版本。
此版本包含對實現的重大更改。編譯器工具鏈已從 C 翻譯為 Go,從而消除了 Go 程式碼庫中 C 程式碼的最後痕跡。垃圾回收器已進行了徹底重新設計,從而顯著減少了垃圾回收暫停時間。排程程式的改進使我們能夠將預設的GOMAXPROCS 值(併發執行的 goroutine 數量)從 1 更改為邏輯 CPU 的數量。連結器的更改使得可以將 Go 包分發為共享庫以連結到 Go 程式,並將 Go 包構建成可以連結到或由 C 程式載入的歸檔檔案或共享庫(設計文件)。
此版本還包括對開發者工具的改進。對“內部”包的支援允許在包之間共享實現細節。“外部”依賴項的實驗性支援是朝著 Go 程式中管理依賴項的標準機制邁出的一步。新的“go tool trace”命令使得能夠視覺化執行時中新跟蹤基礎結構生成的程式跟蹤。新的“go doc”命令提供了改進的命令列介面,用於檢視 Go 包文件。
還增加了幾個新的作業系統和架構埠。較成熟的新埠包括 darwin/arm、darwin/arm64(Apple 的 iPhone 和 iPad 裝置)以及 linux/arm64。此外,還為 ppc64 和 ppc64le(IBM 64 位 PowerPC,大端和小端)提供了實驗性支援。
新的 darwin/arm64 埠和外部連結功能為Go 移動專案提供了動力,該專案旨在探索 Go 如何用於構建 Android 和 iOS 裝置上的應用程式。(Go 移動專案本身不包含在此次釋出中。)
唯一的語言更改非常小,放寬了 map 字面量語法的限制,使其更簡潔並與 slice 字面量保持一致。
標準庫也獲得了許多新增功能和改進。flag 包現在顯示更清晰的用法訊息。math/big 包現在提供了一個Float 型別,用於計算任意精度的浮點數。對 Linux 和 BSD 系統的 DNS 解析器的改進消除了需要 cgo 才能進行名稱查詢的程式。go/types包已從 golang.org/x/tools 倉庫遷移到標準庫。(新的go/constant 和 go/importer 包也是此次遷移的結果。)reflect 包增加了ArrayOf 和 FuncOf 函式,與現有的 SliceOf 函式類似。當然,還有通常的小型修復和改進列表。
下一篇文章:Go GC:優先考慮低延遲和簡潔性
上一篇文章:GopherCon 2015 綜述
部落格索引