這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Go語言是由Google開發的一個開源項目,目的之一是為了提高開發人員的編程效率。
近日,在Go 1.3.3發布一個月之後,Go官方宣布Go 1.4 Beta 1版本發布。
此版本在支援向後相容的前提下重點多編譯器和運行時進行了改進,並實現了不同架構處理器的支援等。值得關注的改進內容如下:
1、運行時
對運行時做了重大的改進,如垃圾收集器、並發處理、介面管理、maps方法、slices方法、字串等使用Go語言進行了重寫(原來大部分使用C語言編寫),使得垃圾收集器可以掃描運行時的程式棧,以獲得變數的精確資訊,從而提高了垃圾收集器的精確性。垃圾收集器的精確性得到了提高,將不會存在非活躍引用對象而不被記憶體回收的情況了,從而減少了堆的大小(相對上一版本減少了10%-30%)。程式棧不再進行分割,剔除了“hot split”問題,在不影響效能的情況下,連續棧的使用減少了棧的初始化大小,已從8192位元組減少到了2048位元組。另外,還修複了1.3版本中無效指標引起的運行時崩潰問題。
2、作業系統和伺服器架構
支援運行Android系統的ARM處理器;支援運行Plan9系統的AMD64處理器;支援NativeClient (NaCl) ARM處理器。
3、標準lib
修複了bufio.Scanner包中SplitFunc方法的產生空token的Bug;新的go.sys包替代了syscall包;重寫了encoding.gob包,剔除了不安全的操作;net.http包中的Request新增了BasicAuth方法;compress包新增了Reset方法。另外,還對crypto.tls、reflect、runtime等包進行了改進。
除了以上主要的改進外,該版本還包括新增了用來產生構建時的原始碼的“go generate”命令、為Go命令引入了定義“內部”包的新機制、對組合語言實現的功能進行了最佳化等一些改進措施。
目前,該版本已提供下載。更多關於Go 1.4 Beta 1版本的更新內容請查看其版本資訊。
另外,根據Go的版本發布計劃路線圖,
Go 1.4最終版本計劃於今年12月1日發布;
Go 1.5計劃於2015年6月份發布,旨在減少垃圾收集器的延遲,從而使得Go語言更加能夠滿足廣大使用者對回應時間要求比較高的系統;
Go 1.6計劃於2015年12月發布,該版本將會加入指標碰撞分配和分代複製收集技術。