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