《深入Go語言:原理、關(guān)鍵技術(shù)與實戰(zhàn)》隨著服務(wù)器硬件性能的提高,多核CPU已經(jīng)很常見,充分??硬件的多核運算優(yōu)勢是很多開發(fā)者?斷探索和努力的方向。相較于?些編程語?的框架在不斷地提高多核資源的使用效率,Go語?在多核并發(fā)上擁有原?的設(shè)計優(yōu)勢,其顯著的語?言特征是對并發(fā)編程的原??持,目前在云計算、容器領(lǐng)域應用廣泛。 Go語言總體來說上手簡單,但是到實際的開發(fā)中,僅僅掌握Go語言的語法遠遠不夠。因此在理解Go語言語法的基礎(chǔ)上,深?入了解Go語?的實現(xiàn)內(nèi)幕、高級特性以及實踐中的使用陷阱變得異常重要;這也正是本書要向讀者詳細介紹的。
每一種流行的高級編程語言都是圖靈完備的,都能在各自領(lǐng)域發(fā)揮作用,它們在這些領(lǐng)域中都往往有一套相通的原理,了解這些原理有利于快速了解其他語言,構(gòu)建基礎(chǔ)的領(lǐng)域知識,比如Go、Java、C 等后端語言在處理網(wǎng)絡(luò)請求和并發(fā)領(lǐng)域都有一套相似的模式和原理。
但是,編程語言往往也有各自專屬的、最為適合的、也最為突出的領(lǐng)域;比如 JavaScript之于Web應用和Go語言之于網(wǎng)絡(luò)服務(wù)器。編程語言在某些領(lǐng)域的優(yōu)勢往往源于其語言本身的特性,理解這些特性背后的思維方式和思考取舍過程,有利于開發(fā)人員利用這些特性,揚長避短,更好地發(fā)揮各自語言的作用。
本書寫作思路
本書不僅講解Go語言在相關(guān)編程領(lǐng)域的設(shè)計、思維方式,功能特性和最佳實踐,還將其與其他主流編程語言進行對比,為讀者提供更加廣闊地看待某一類問題的視角;從而讓讀者們從更加宏觀的角度出發(fā),選擇一門適合自己工作方向的編程語言,而不是人云亦云地不斷追逐各類新興語言。通過對比幾種我們較熟悉的高級程序設(shè)計語言,從中找到程序語言發(fā)展的規(guī)律,以及影響程序語言流行的因素,以此對程序語言的發(fā)展作出一個基本判斷,對未來有所展望。
此外,本書還從實踐開源項目出發(fā),通過實際代碼介紹相關(guān)Go語言的特性應用和最佳實踐,讓讀者能真實體驗到Go語言的簡潔和高效。
本書涵蓋內(nèi)容
本書內(nèi)容分為三部分,共計12章。
第一部分,淺談高級編程語言歷史和分類,講述Go語言最鮮明的語法特征,介紹Go語言常用數(shù)據(jù)結(jié)構(gòu)和并發(fā)原語。
第二部分,依次深入介紹Go語言特性的原理及其實現(xiàn)。
第三部分,通過開源項目深入了解Go語言特性,并介紹Go語言相關(guān)的最佳實踐(如工程化和etcd存儲)。
目標讀者
本書比較適合希望深入了解Go語言特性原理和實現(xiàn)的技術(shù)人員閱讀,特別是正在實踐Go語言的架構(gòu)師和開發(fā)人員,此書將幫助他們更好地理解Go語言,并與其他常用開發(fā)語言進行對比,了解各自的適用場景。希望此書能幫助讀者在 Go 語言開發(fā)實踐中獲取一些經(jīng)驗和靈感,少走一些彎路,最終的目的還是提升技術(shù)人員的開發(fā)體驗和企業(yè)產(chǎn)品迭代的效率。
作者團隊與致謝
本書由筆者、好友朱榮鑫和黃迪璇共同完成。其中,第1~4章、第6章、第8章、第9章、第13章由筆者編寫;第5章、第10~12章由朱榮鑫編寫;第7章由黃迪璇編寫。全書由筆者統(tǒng)稿。
《深入Go語言:原理、關(guān)鍵技術(shù)與實戰(zhàn)》歷冰,開源愛好者;精耕于微服務(wù)、分布式、高性能計算和性能調(diào)優(yōu)等后端領(lǐng)域。著有《SpringCloud微服務(wù)架構(gòu)進階》,CSDN博客專家,公眾號程序員歷小冰作者。朱榮鑫,微服務(wù)技術(shù)專家;對高并發(fā)、分布式有多年深入的實踐經(jīng)驗。掘金優(yōu)秀作者,CSDN博客專家。著有《Go語言高并發(fā)與微服務(wù)實戰(zhàn)》,公眾號aoho求索作者。黃迪璇,服務(wù)端技術(shù)專家;就職于國內(nèi)一線互聯(lián)網(wǎng)公司,具有多年服務(wù)端開發(fā)經(jīng)驗,對分布式、高并發(fā)等后端領(lǐng)域有較深入了解。技術(shù)極客,熱衷于新技術(shù)的研究和實踐。