這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
原文:http://blog.golang.org/2012/03/go-version-1-is-released.html
—————-翻譯分隔線—————-
Go 版本 1 發布
今天,在 Go 程式設計語言的開發上標記了一個主要的裡程碑。我們宣布 Go 版本 1,或者簡稱為 Go 1,定義了一個語言和一系列的核心庫作為基礎,用於建立可信賴的產品、項目和出版物。
Go 1 是 Go 的第一個發布,提供了二進位包。可用於 Linux、FreeBSD、Mac OS X 以及,令人非常興奮的——Windows。
對於使用者來說 Go 1 駕馭起來相當穩定。編寫 Go 1 程式的人可以完全確信在大多數環境下,即使再過若干年,仍然無需對程式做任何修改,它還能編譯和運行。類似的,編寫關於 Go 1 書籍的人也可以確信他們的例子和解釋不論對於今天還是未來的讀者都是有協助的。
向前相容是穩定的一部分。由 Go 1 編譯的代碼應當(很少有特例)能夠繼續在這個版本的生命週期內編譯和運行,如為了 issue 更新和 bug 修複而產生的 Go 版本 1.1、1.2 等等。, Go 1 相容性文檔用更多的細節對相容性指引進行瞭解釋。
Go 1 是 Go 當前應用的一個代表,而不是重大的重構。在計劃中,我們聚焦於清理問題和矛盾,並改進可移植性。在最初我們設計並製作出 Go 的原型已經過了很久,發生了很多變化,沒有發布的原因是它們不能向後相容。Go 1 包含了這些對語言和庫提供了重大改進,但不能相容舊程式的變化。幸運的是, go fix 工具可以自動完成許多將程式升級到 Go 1 標準的工作。
Go 1 帶來了語言(例如 Unicode 字元和新的 errors 類型)和標準庫(例如新的 time 包和 strconv 包的重新命名)的變化。同時,包的層次被總新梳理,使得相關的項目放在一起,例如調整了網路相關的 rpc 包到 net 的子目錄中。在 Go 1 發布筆記中有完整的變化列表。這份文檔對於從 Go 早期版本遷移是必不可少的指引。
我們同時重構了 Go 工具包,用新的 go 命令作為封裝,用於擷取、構建、安裝和管理 Go 代碼。go 命令消除了編寫 Go 代碼時對 Makefile 的需求,因為它使用 Go 程式的代碼本身驅動構建。不再需要構建指令碼!
最終,Go 1 的發布使得 Google App Engine SDK 也進行了新版本發布。類似的修訂和穩定流程已經應用在 App Engine 包上,為開發人員提供了在 App Engine 上構建可以運行許多年的程式的基石。
Go 1 是 Go 核心組和來自開源社區的貢獻者共同努力的結果。我們為此向每個給予過協助的人表示感謝。
沒有什麼時候是比現在更加適合變成一位 Go 程式員了。邁出第一步所需的一切都在 golang.org。
ANDREW GERRAND 發表