初學 Golang 30 天 - (1)認識 Go

簡介

Go 語言是由 Google 開發的開放原始碼項目,目的之一為了提高開發人員的程式設計效率。 Go 語言語法靈活、簡潔、清晰、高效。它對的並發特性可以方便地用於多核處理器 和網絡開發,同時靈活新穎的類型系統可以方便地撰寫模組化的系統。Go 可以快速編譯, 同時具有記憶體垃圾自動回收功能,並且還支持運行時反射。Go 是一個高效、靜態類型, 但是又具有解釋語言的動態類型特徵的系統級語法。

由來!?

下載中斷是再正常不過的事,但對知名 Google 程式設計師菲茲派翠克(Brad Fitzpatrick)來說,這件事情太難以忍受。

令人不耐的下載速度

其實他並不孤單,多年來很多人都曾抱怨 dl.google.com 系統不夠穩定。

這個系統非常重要,任務範圍幾乎涵蓋所有 Google 下載任務,包括 Chrome 瀏覽器安裝、Android 原始程式碼,以及較小的 JavaScript。但,問題是該檔案伺服器系統的基礎代碼已經超過五年,相當老舊。

菲茲派翠克認為代碼必須不斷更新提升,最初的 C++ 語言缺乏規範的文檔,自動化測試也未達水準,沒有人能搞懂它,只是不斷做一些小幅改變。最後在負責維護的程式人員眼裡,這些代碼根本是一團糟。

不穩定的系統讓伺服器運營團隊相當苦惱,但沒有人有時間重寫代碼。於是菲茲派翠克自告奮勇接手,他在 Google 底下的 25 人工程師團隊——地鼠隊(Gopher Team)中,負責開發一種程式設計語言命名為 Go。這個機會讓他非常興奮。以上內容節錄自 Wired

為什麼要學習 Go

  1. 開源專案,代表他有無限的可能性。
  2. 主要維護者是 Google。
  3. 簡單!它很容易學習。
  4. Go 跨平台!在這個什麼都要多平台的年代太重要了,甚至你可以 Cross Compile。
  5. Channel!Go 的 Goroutine (相當於其他語言的 Thread,但它更輕巧) 可以透過 Channel 溝通。
  6. Go 的錯誤處理方式很優雅。
  7. Go 的內建函式庫很多,甚至可以直接使用 GitHub 上面的函式庫!
  8. 多傳回值,你函式的回傳值可以是多個。

其實真要說的話,真的列舉不完,這幾點是我特別看中喜愛的點,希望能勾起大家對於 Go 的興趣!

參考資料
http://www.cnblogs.com/howDo/archive/2013/04/07/GoLang-WhyStudy.html
http://golang.org/
http://www.golang-book.com/

comments powered by Disqus