Go 是年輕而有活力的語言。
它最初于 2007 由 Robert Griesemer, Rob Pike 和 Ken Thompson ?在 Google 開始開發,2009 年正式發布。作者們希望使復雜、高效系統的編寫工作變得簡單、可靠。同時,他們也希望 Go 能成為一個相對通用的編程環境,能夠適應諸如桌面應用、移動應用、數值計算等。
Go 的設計理念充分的體現了這些設計目標。 它是極簡化語言的代表,推崇少即是多。為了避免復雜、不可讀的代碼,Go 限制了語言功能與語法特性。Go 的可讀性在眾多編程語言中是獨樹一幟的。另外,為了減輕使用者編寫高性能應的負擔,它也引入了 Runtime, 提供了諸如協程、垃圾回收等功能。Runtime 雖然復雜了語言本身的實現,但它讓使用者獲得了更簡單易用的編程環境。
國內的 Go 語言社區十分活躍,這得益于致力推廣 Go 的技術精英們。我認識本書作者,郝林,也是源于他組織的 Go 語言北京交流會。利用業余時間,他廣泛推廣普及 Go 語言,組織、邀請技術專家參與交流會。他堅持不懈兩年有余,取得了顯著的成績。郝林對 Go 社區建設的執著與熱情令人敬佩。我相信,本書也是凝集了他對技術推廣的一腔熱情,希望讓 Go 語言的初學者、工程師們能更快捷、深入的理解 Go 語言,以促進整個技術領域的發展。
Go 語言方面書籍對培養高素質的業余愛好者、從業人員起到了至關重要的作用。本書在各種 Go 語言書籍中也是特點鮮明。本書首先介紹了 Go 語言的基礎知識,對初學者有所鋪墊。書中大量篇幅覆蓋了 Go 語言的并發特性,詳細講解了其中的哲學、原理與實現。我相信很多像我這樣,每天都沉浸在 Go 語言的從業人員,也并不完全知道 Go 內部實現的奧妙。每天花上一些時間來讀此書,即便對有經驗的 Go 從業人員來說,也會是有所幫助的。
在翻讀本書時,我也深深體會到了作者寫作的用心之處,每個章節中不光有概念的講解,還有實現實例和經典案例。這些細心之處,讓如此一本嚴肅的技術書籍讀起來也并不顯枯燥、乏味。書末更有一個獨立的章節,來介紹用 Go 語言實現一個爬蟲系統。相信很多讀者都會迫不及待的跟著作者一起動起手來,實踐書中的知識與概念。
最后,作為 Go 和開源社區的一員,我希望讀者們能夠在享受 Go 開發帶來的樂趣與收獲的同時,能回饋、融入社區。你們的每一個建議與意見,每一個問題反饋與代碼補丁,都會促進和推動開源社區,以及整個計算機產業的發展。我想這也是郝林如此用心編寫此書的初衷之一。
李響
3月5日,于美國加利福尼亞州