前言
▨ 為什麼要寫這本書
數年前,公司開始嘗試技術堆疊轉型,而我剛好被抽調到新業務的突破組,負責 Go 相關技術的推進。但是當時網路上並沒有系統化、結構化的教材,因此我寫了一些中文連載系列,希望借此將Go 相關的知識分享給廣大的Go 語言同好。
近幾年,隨著學習Go 語言人數的增加,Go 語言相關的圖書也越來越多,但依然沒有相對完整的專案實作類的圖書,因此我決定再次行動起來,希望將這一塊的知識成系統地分享給大家。
▨ 適合讀者群
本書適合有一定Go 語言基礎的讀者,以及相關開發人員閱讀:
■ 有一定 Go 語言基礎的開發人員。
■ 想要進行 Go 相關專案實作的開發人員。
■ 希望熟悉 Go 常用分析工具的開發人員。
▨ 本書內容
全書共分為6 章,分別是命令列應用、HTTP 應用、RPC 應用、WebSocket 應用、處理程序內快取和Go 語言中的大殺器(分析工具),其中前5 章是Go 語言開發中最常見的專案類型。
本書對專案開發、細節分析、執行時期分析等核心內容進行了較為深入的剖析,提供了相對完整的專案實作經驗。在專案反覆運算過程中,難免會遇到問題,因此本書針對 Go 語言的大殺器(分析工具)及常見問題進行了全面說明,幫助讀者對各種問題進行排除。
▨ 關於實作
本書的主要內容是針對專案實作,實作大致可以分為三個方向,分別是「做、學、排」,即做好你需要的專案、學習優秀的專案、排除和分析問題。
學習優秀的開放原始碼或私有專案可以幫助我們不斷精進所負責的專案。既然是企業專案,那麼在長期的反覆運算中一定會遇到或大或小的事故,因此知道如何排除和分析問題就顯得非常重要。
同時這裡有一個隱藏的方向,那就是歸納,即對所學的知識進行複習,將思維聚攏並把知識歸納記錄下來,這也是本書有很多「小結」的原因。
▨ 社群支援
我們建立了官方網站 go-programming.cn 和對應的知識星球對本書進行長期維護,也希望這個平台能夠幫助讀者進行思維擴充,認識更多志同道合的朋友。
另外,我們只是樂於分享的 Go 語言同好,技術水準有限,書中難免有錯漏之處,敬請讀者不吝賜教,我們將感激不盡。
▨ 繁體中文版說明
本書作者為中國大陸人士,為求書附程式正常執行僅提供簡體中文版程式下載,請至本公司官網https://deepmind.com.tw 下載。本書程式在github 上亦有維護,讀者可前往https://github.com/go-programming-tour-book 追蹤原作者最新版本程式。
▨ 致謝
感謝 Go 語言社群中的同好們,如果沒有你們的鼓勵,本書不可能出版。最後感謝為本書犧牲了大量業餘時間進行"Review" 的朋友們:
■ 盛傲飛(aofei)
■ 石太彬(shitaibin)
■ 曾曉東(teroy)
陳劍煜
前言
感謝我的家人一直以來對我的事業和愛好毫無怨言的支援!
特別要感謝我的妻子,在我寫作本書時,給予我無微不至的照顧,讓我全身心地投入寫作中。因為特殊時期,女兒們沒在身邊,感謝岳父岳母對她們無微不至的照顧!
徐新華