今天 Google 如期發(fā)布 Go 1.5。目前 Go 1.5 已經(jīng)開放下載,支持 Linux、Windows 和 Mac 平臺。這次更新的主要特性包括 垃圾收集器可以并行執(zhí)行,顯著降低了程序停頓時間; 徹底擺脫了 C 語言,編譯器和鏈接器均用 Go 語言完成; 新版本Go程序?qū)⒛J以最大可用核心數(shù)量運行(GOMAXPROCS set),而不是之前的一個核; 所有資源庫(repositories),而不是 Go 的核心庫,都支持內(nèi)部包; go命令提供對“vendoring”外部依賴的支持,目前這還只是實驗性功能; 加入go指令追蹤工具,允許開發(fā)者對程序進行細粒度的追蹤; 加入go doc指令(與godoc有區(qū)別); 改進鏈接器,允許開發(fā)者將分布式 Go 包作為分享庫鏈接到 Go 程序,也允許開發(fā)者構(gòu)建 Go 包到文檔庫或者分享庫。 此次更新有兩個看點。第一,Go 1.5 徹底擺脫了 C 語言,Go語言的編譯器和連接器均用 Go 語言編寫完成。第二,Go 1.5 可以并行運行垃圾收集器,顯著降低了停頓時間。目前大家對 Go 語言的各方面的表現(xiàn)都比較滿意,比如程序性能、異常捕獲、多線程編程和網(wǎng)絡編程等。但 Go 語言有一個很大的缺陷,Go 回收內(nèi)存會造成程序停頓。在大流量的環(huán)境下,一個服務停頓幾秒是要命的事。這次更新降低停頓時間,減緩了這個問題。但要徹底解決這個問題,還需要時間。