Go 語言:我那麼值錢,我驕傲了嗎? 我們喜歡 Go 的地方 如何學習 Go 語言學習

在過去,開發效率和系統執行效率往往不能兼得。開發人員在爲項目選擇語言時,不得不在快速開發和性能之間做出選擇。C 和 C++ 這類語言提供了很快的執行速度,而 Ruby 和 Python 這類語言則擅長快速開發。Go 語言在這兩者間架起了橋樑,不僅提供了高性能的語言,同時也讓開發更快速。

背靠谷歌這座大山,Go 語言在短短几年內快速發展,國外如 Google、AWS、Cloudflare、CoreOS 等,國內如七牛、阿里等都已經開始大規模使用 Go 語言開發其雲計算相關產品。同時,在 Stack Overflow 和 Hired 發佈的年度調查中,Go 語言成爲“收入最高的開發語言”和“受邀面試最多的語言”,足以說明 Go 語言在後端市場的潛力。

我們喜歡 Go 的地方

Go 語言速度非常快

Go 語言是一門非常快速的編程語言。因爲 Go 語言是編譯成機器碼的,因此,它的表現自然會優於那些解釋性或具有虛擬運行時的編程語言。Go 程序的編譯速度也非常快,並且生成的二進制文件非常小。我們的 API 在短短几秒鐘內就編譯完畢,生成的可執行文件區區只有 11.5MB 這麼小。

易於掌握

與其他語言相比,Go 語言的語法很簡單,很容易掌握。你完全可以把 Go 語言的大部分語法記在腦子裏,這意味着你並不需要花很多時間來查找東西。同時,Go 語言也非常乾淨易讀。

靜態類型定義語言

Go 語言是一種強大的靜態類型定義語言。有基本類型,如 int、byte 和 string。也有結構類型。與任何強類型語言一樣,類型系統允許編譯器幫助捕獲整個類的錯誤。Go 語言還具有內置的列表和映射類型,而且它們也易於使用。

接口類型

Go 語言有接口類型,任何結構都可以簡單地通過實現接口的方法來滿足接口。這允許你解耦代碼中的依賴項。然後,你可以在測試中模擬你的依賴項。通過使用接口,你可以編寫更加模塊化的可測試代碼。Go 語言還具有頭等函數,這使得開發人員以更實用的方式編寫代碼成爲可能。

標準庫

Go 語言有一個相當不錯的標準庫。它提供了方便的內置函數,用於處理基本類型。有些包可以讓你輕鬆構建一個 Web 服務器、處理 I/O、使用加密技術以及操作原始字節。標準庫提供的 JSON 序列化和反序列化非常簡單。通過使用 “tags”,你可以在 struct 字段旁邊指定 JSON 字段名。

測試支持

測試支持內置在標準庫中,不需要額外的依賴。如果你有個名爲 thing.go 的文件,請在另一個名爲 thing_test.go 的文件中編寫測試,並運行 “go test”。Go 就將快速執行這些測試。

垃圾收集

在設計 Go 語言時,有意將內存管理設計得比 C 和 C++ 更容易。動態分配的對象是垃圾收集。Go 語言使指針的使用更加安全,因爲它不允許指針運算。還提供了使用值類型的選項。

更容易的併發模型

雖然併發編程從來就不是一件易事,但 Go 語言在併發編程要比其他語言更容易。創建一個名爲 “goroutine” 的輕量級線程,並通過 “channel” 與它進行通信幾乎是非常簡單的事情,至於更爲複雜的模型,也是有可能能夠實現的。

如何學習 Go 語言學習

Go 語言和學習其他編程語言一樣,你需要一個好老師,和一雙敲代碼的手~

最好的老師莫過於一本經典的教材,而《Go 語言實戰》可能就是最好的教材之一,它由 3 位 Go 語言技術專家聯合著成,分別是:

  • William Kennedy,是一位熟練的軟件開發者,也是博客 GoingGo.Net 的作者。
  • Brian Ketelsen 和 Erik St. Martin,兩位都是全球 Go 語言大會 GopherCon 的組織者,也是 Go 語言框架 Skynet 的聯合作者。

在人民郵電出版社的授權下,實驗樓爲本書提供了配套的課程和實驗環境。現在你可以在線上的環境中對書中的項目實時練習,更紮實地掌握相關知識點。

課程地址:Go 語言實戰

在技術大牛的講解中,你將學習:Go 語言的語法、類型系統、併發、管道、測試,以及其他一些主題,非常適合對 Go 語言感興趣的同學。現在可免費試學課程前兩個章節,歡迎大家來實驗樓免費學習~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章