Go 語言之所以如此受歡迎,其編譯器功不可沒。Go 語言的發展也得益于其編譯速度夠快。 對開發者來說,更快的編譯速度意味著更短的反饋周期。大型的 Go 應用程序總是能在幾秒鐘之 內完成編譯。而當使用?go run編譯和執行小型的 Go 應用程序時,其速度之快甚至堪比腳本語言。 這種快速的編譯和執行速度也同樣適用于測試。對于 Go 語言開發人員來說,每次保存文件時運 行整個測試套件并不罕見,但在其他語言中并不常見。
Go?語言編譯器、Go 語言的類型系統及其快速的編譯速度可以迅速捕捉到許多常見的錯誤, 這對 Go 語言開發人員來說是一個巨大的優勢。這些特性可以使開發人員更加關注業務邏輯的開 發,而不必擔心犯下低級錯誤,例如使用未定義的變量或忘記在循環中使用?range?關鍵字。
Go 語言有著出色的并發能力。Go 語言從一開始就考慮了并發性,這意味著程序員 不需要擔心線程、創建進程或者其他類似的問題,就可以輕松寫出并發代碼。
Go 語言書籍入門到進階書籍
1、《Go語言編程指南》
充分利用你在其他編程語言中積累的知識和經驗,并指導你避免那些Go語言初學者常犯的錯誤。
本書涵蓋了 Go 語言的基礎語法、核心概念、慣用法和高級特性,并提供了豐富的代碼示例,旨在幫助開發人員快速上手 Go 語言編程。
本書首先介紹了 Go 語言如何管理包、模塊和依賴,幫助讀者建立良好的項目結構。接著介紹了字符串、變量和常量等基礎知識。隨后詳細介紹了 Go 語言中的復合類型,如數組、切片、map、控制結構、函數、結構體、方法和指針等的正確使用方法。之后傳授了編寫高質量測試代碼的方法,并介紹了 Go 語言的接口和新的泛型功能及其使用方法。并發編程是 Go 語言的重要特性,本書最后專門介紹了如何利用并發提升代碼性能,并詳細講解了通道、Context 及其他高級同步原語的使用方法。
本書根據作者的 Gopher Guides?培訓課程編寫,適合 Go 語言初學者和具備其他編程語言知識的開發人員學習和參考,也可作為高等院校相關專業的教學參考書。
2、Go語言趣學指南
Go語言程序設計教程書籍,Go編程語言實戰學習筆記入門書,學習過程充滿樂趣,并能積累豐富的實戰經驗。
《Go語言趣學指南》是一本面向Go語言初學者的書,循序漸進地介紹了使用Go語言所必需的知識,展示了非常多生動有趣的例子,并通過提供大量練習來加深讀者對書中所述內容的理解。本書共分8個單元,分別介紹變量、常量、分支和循環等基礎語句,整數、浮點數和字符串等常用類型,類型、函數和方法,數組、切片和映射,結構和接口,指針、nil和錯誤處理方法,并發和狀態保護,并且每個單元都包含相應的章節和單元測試。
《Go語言趣學指南》適合對初學Go語言有不同需求的程序員閱讀。無論是剛開始學習Go語言的新手,還是想要回顧Go語言基礎知識的Go語言使用者,只要是想用Go做開發,無論是開發小型腳本還是大型程序,《Go語言趣學指南》都會非常有幫助。
3、Go語言實戰
即便不處理類似可擴展的Web 并發或者實時性能等復雜的系統編程問題,應用程序開發也是一件非常困難的事情。盡管使用一些工具和框架也可以解決這些常見的問題,但Go 語言卻以一種更加自然且高效的方式正確處理了這類問題。由谷歌公司開發的Go 語言,為在基礎設施中非常依賴高性能服務的初創公司和大企業提供了足夠的能力。
Go語言實戰目標讀者是已經有一定其他編程語言經驗,想要開始學習Go 語言或者更深入了解Go 語言及其內部機制的中級開發 者。本書會提供一個專注、全面且符合習慣的視角。本書關注Go 語言的規范和實現,涉及的內容包括語法、Go 的類型系統、并發、通道和測試等主題。
Go語言實戰 主要內容
● Go語言規范和實現。
● Go語言的類型系統。
● Go語言的數據結構的內部實現。
● 測試和基準測試。
Go語言實戰假設讀者是熟練使用其他語言(如Java、Ruby、Python、C# 或者C++)的開發 者。