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