本書是學習Go語言的權威資源,它展現如何撰寫清楚且正確的Go程式以解決實務上的問題。閱讀此書無需Go或其他特定語言的經驗,JavaScript、Ruby、Python、Java或C++等程式設計師都能夠輕鬆上手。
*第一章討論Go的基本概念,介紹檔案輸出入、文字處理、簡單圖形、與網路用戶端以及伺服器等。
*前幾個章節涵蓋了Go程式的結構元素:語法、流程控制、資料型別、與組織程式套件、檔案及函式。書中範例展示標準函式庫的套件並示範如何自行建構套件。其後的章節則深入解釋套件機制、如何使用Go工具建構、測試與維護專案。
*方法與介面相關章節介紹Go獨特的物件導向程式設計方式,其方法可以在間接滿足條件的型別與介面上宣告。這些章節以實際的範例解釋了封裝、組合與可替換性的重要原則。
*兩個與並行性有關的篇章深入此越顯重要的主題。首先是goroutine與channel基本機制的討論,描述Go最為人稱道的交談循序程式。其次是使用共用變數的傳統並行性。這些章節為首次遭遇並行性的程式設計師提供堅實的基礎。
*最後兩章探索Go的低階功能,一個是使用reflection的元編程藝術,另一個是如何使用unsafe套件在特殊情況下跳脫型別系統以及使用cgo工具建構Go的C函式庫連結。
書中數百個有趣與實用的Go範例程式涵蓋整個語言最重要的套件與各種應用。每一章都有練習題以測試你的理解並探索擴充與替代方案。原始碼可從gopl.io/下載並能使用go get命令取得、建構、與安裝。