Go語(yǔ)言設(shè)計(jì)與實(shí)現(xiàn)
定 價(jià):139.8 元
- 作者:左書祺(@Draven)
- 出版時(shí)間:2021/11/1
- ISBN:9787115576613
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書基于在讀者之間廣為傳閱的同名開(kāi)源電子書《Go語(yǔ)言設(shè)計(jì)與實(shí)現(xiàn)》,是難得一見(jiàn)的Go語(yǔ)言進(jìn)階圖書。
書中結(jié)合近200幅生動(dòng)的全彩圖片,配上詳盡的文字剖析與精選源代碼段,為讀者奉上了異彩紛呈、系統(tǒng)完善的Go語(yǔ)言解讀。本書內(nèi)容分為9章:調(diào)試源代碼、編譯原理、數(shù)據(jù)結(jié)構(gòu)、語(yǔ)言特性、常用關(guān)鍵字、并發(fā)編程、內(nèi)存管理、元編程和標(biāo)準(zhǔn)庫(kù),幾乎涵蓋了Go語(yǔ)言從編譯到運(yùn)行的方方面面。書中的代碼片段基于Go 1.15。通過(guò)閱讀本書,讀者不僅能夠深入理解Go語(yǔ)言的實(shí)現(xiàn)細(xì)節(jié),而且可以深刻認(rèn)識(shí)設(shè)計(jì)背后的原理,同時(shí)提升閱讀源代碼的技能。
1.新穎的學(xué)習(xí)方式,近200幅精美全彩技術(shù)配圖,600多段精選源代碼段,精煉的文字剖析,帶你以不同的方式讀懂Go源碼,掌握Go底層原理
2.強(qiáng)大的讀者口碑,本書基于“面向信仰編程”博客作者@Draven的開(kāi)源電子書《Go語(yǔ)言設(shè)計(jì)與實(shí)現(xiàn)》,有30萬(wàn)讀者追更,全網(wǎng)閱讀量100萬(wàn)+
3.難能可貴的閱讀體驗(yàn),全彩印刷、精美排版、封面選用特種紙、內(nèi)文采用80g膠版紙
4.專業(yè)人士推薦,謝孟軍、毛劍、萬(wàn)俊峰Kevin、張磊、無(wú)聞等業(yè)內(nèi)人士力薦,大量讀者熱薦
左書祺(@Draven)
Kubernetes貢獻(xiàn)者、前調(diào)度器項(xiàng)目組成員、云計(jì)算和資源調(diào)度架構(gòu)師!懊嫦蛐叛鼍幊獭辈┛妥髡,開(kāi)源電子書《Go語(yǔ)言設(shè)計(jì)與實(shí)現(xiàn)》作者,“真沒(méi)什么邏輯”主理人。長(zhǎng)期維護(hù)開(kāi)源項(xiàng)目。
《Go語(yǔ)言設(shè)計(jì)與實(shí)現(xiàn)》有30多萬(wàn)讀者追更,全網(wǎng)閱讀量已經(jīng)超過(guò)100萬(wàn)。
前言 iii
第 1章 調(diào)試源代碼 1
1.1 Go語(yǔ)言源代碼 1
1.2 編譯源代碼 2
1.3 中間代碼 3
1.4 小結(jié) 4
第 2章 編譯原理 5
2.1 編譯過(guò)程 5
2.1.1 預(yù)備知識(shí) 5
2.1.2 編譯四階段 7
2.1.3 編譯器入口 10
2.1.4 小結(jié) 11
2.1.5 延伸閱讀 12
2.2 詞法分析和語(yǔ)法分析 12
2.2.1 詞法分析 12
2.2.2 語(yǔ)法分析 17
2.2.3 小結(jié) 26
2.2.4 延伸閱讀 26
2.3 類型檢查 26
2.3.1 強(qiáng)弱類型 26
2.3.2 靜態(tài)類型與動(dòng)態(tài)類型 27
2.3.3 執(zhí)行過(guò)程 28
2.3.4 小結(jié) 34
2.4 中間代碼生成 34
2.4.1 概述 34
2.4.2 配置初始化 35
2.4.3 遍歷和替換 37
2.4.4 SSA生成 40
2.4.5 小結(jié) 44
2.5 機(jī)器碼生成 44
2.5.1 指令集架構(gòu) 44
2.5.2 機(jī)器碼生成 45
2.5.3 小結(jié) 49
2.5.4 延伸閱讀 50
第3章 數(shù)據(jù)結(jié)構(gòu) 51
3.1 數(shù)組 51
3.1.1 概述 51
3.1.2 初始化 52
3.1.3 訪問(wèn)和賦值 55
3.1.4 小結(jié) 57
3.1.5 延伸閱讀 58
3.2 切片 58
3.2.1 數(shù)據(jù)結(jié)構(gòu) 58
3.2.2 初始化 59
3.2.3 訪問(wèn)元素 63
3.2.4 追加和擴(kuò)容 64
3.2.5 復(fù)制切片 67
3.2.6 小結(jié) 68
3.2.7 延伸閱讀 68
3.3 哈希表 68
3.3.1 設(shè)計(jì)原理 69
3.3.2 數(shù)據(jù)結(jié)構(gòu) 72
3.3.3 初始化 74
3.3.4 讀寫操作 77
3.3.5 小結(jié) 88
3.3.6 延伸閱讀 88
3.4 字符串 88
3.4.1 數(shù)據(jù)結(jié)構(gòu) 89
3.4.2 解析過(guò)程 89
3.4.3 拼接 91
3.4.4 類型轉(zhuǎn)換 93
3.4.5 小結(jié) 95
3.4.6 延伸閱讀 95
第4章 語(yǔ)言特性 96
4.1 函數(shù)調(diào)用 96
4.1.1 調(diào)用慣例 96
4.1.2 參數(shù)傳遞 101
4.1.3 小結(jié) 104
4.1.4 延伸閱讀 104
4.2 接口 105
4.2.1 概述 105
4.2.2 數(shù)據(jù)結(jié)構(gòu) 111
4.2.3 類型轉(zhuǎn)換 113
4.2.4 類型斷言 116
4.2.5 動(dòng)態(tài)派發(fā) 118
4.2.6 小結(jié) 122
4.2.7 延伸閱讀 122
4.3 反射 123
4.3.1 三大法則 124
4.3.2 類型和值 127
4.3.3 更新變量 129
4.3.4 實(shí)現(xiàn)協(xié)議 130
4.3.5 方法調(diào)用 132
4.3.6 小結(jié) 135
4.3.7 延伸閱讀 135
第5章 常用關(guān)鍵字 136
5.1 for和range 136
5.1.1 現(xiàn)象 137
5.1.2 經(jīng)典循環(huán) 140
5.1.3 范圍循環(huán) 141
5.1.4 小結(jié) 147
5.2 select 148
5.2.1 現(xiàn)象 148
5.2.2 數(shù)據(jù)結(jié)構(gòu) 151
5.2.3 實(shí)現(xiàn)原理 151
5.2.4 小結(jié) 160
5.2.5 延伸閱讀 161
5.3 defer 161
5.3.1 現(xiàn)象 161
5.3.2 數(shù)據(jù)結(jié)構(gòu) 163
5.3.3 執(zhí)行機(jī)制 164
5.3.4 堆中分配 164
5.3.5 棧上分配 168
5.3.6 開(kāi)放編碼 169
5.3.7 小結(jié) 173
5.3.8 延伸閱讀 174
5.4 panic和recover 174
5.4.1 現(xiàn)象 175
5.4.2 數(shù)據(jù)結(jié)構(gòu) 177
5.4.3 程序崩潰 178
5.4.4 崩潰恢復(fù) 179
5.4.5 小結(jié) 181
5.4.6 延伸閱讀 181
5.5 make和new 181
5.5.1 make 182
5.5.2 new 183
5.5.3 小結(jié) 184
第6章 并發(fā)編程 185
6.1 上下文 185
6.1.1 設(shè)計(jì)原理 186
6.1.2 默認(rèn)上下文 187
6.1.3 取消信號(hào) 188
6.1.4 傳值方法 192
6.1.5 小結(jié) 192
6.1.6 延伸閱讀 192
6.2 同步原語(yǔ)與鎖 193
6.2.1 基本原語(yǔ) 193
6.2.2 擴(kuò)展原語(yǔ) 209
6.2.3 小結(jié) 218
6.2.4 延伸閱讀 218
6.3 計(jì)時(shí)器 219
6.3.1 設(shè)計(jì)原理 219
6.3.2 數(shù)據(jù)結(jié)構(gòu) 222
6.3.3 狀態(tài)機(jī) 223
6.3.4 觸發(fā)計(jì)時(shí)器 229
6.3.5 小結(jié) 231
6.3.6 延伸閱讀 232
6.3.7 歷史變更 232
6.4 Channel 232
6.4.1 設(shè)計(jì)原理 232
6.4.2 數(shù)據(jù)結(jié)構(gòu) 234
6.4.3 創(chuàng)建Channel 235
6.4.4 發(fā)送數(shù)據(jù) 237
6.4.5 接收數(shù)據(jù) 240
6.4.6 關(guān)閉Channel 245
6.4.7 小結(jié) 246
6.4.8 延伸閱讀 246
6.5 調(diào)度器 246
6.5.1 設(shè)計(jì)原理 247
6.5.2 數(shù)據(jù)結(jié)構(gòu) 255
6.5.3 調(diào)度器啟動(dòng) 260
6.5.4 創(chuàng)建Goroutine 261
6.5.5 調(diào)度循環(huán) 266
6.5.6 觸發(fā)調(diào)度 269
6.5.7 線程管理 274
6.5.8 小結(jié) 276
6.5.9 延伸閱讀 276
6.6 網(wǎng)絡(luò)輪詢器 276
6.6.1 設(shè)計(jì)原理 276
6.6.2 數(shù)據(jù)結(jié)構(gòu) 280
6.6.3 多路復(fù)用 281
6.6.4 小結(jié) 288
6.6.5 延伸閱讀 289
6.7 系統(tǒng)監(jiān)控 289
6.7.1 設(shè)計(jì)原理 289
6.7.2 監(jiān)控循環(huán) 289
6.7.3 小結(jié) 296
第7章 內(nèi)存管理 297
7.1 內(nèi)存分配器 297
7.1.1 設(shè)計(jì)原理 297
7.1.2 內(nèi)存管理組件 304
7.1.3 內(nèi)存分配 317
7.1.4 小結(jié) 322
7.1.5 延伸閱讀 322
7.1.6 歷史變更 322
7.2 垃圾收集器 323
7.2.1 設(shè)計(jì)原理 323
7.2.2 演進(jìn)過(guò)程 331
7.2.3 實(shí)現(xiàn)原理 334
7.2.4 小結(jié) 358
7.2.5 延伸閱讀 358
7.3 ?臻g管理 358
7.3.1 設(shè)計(jì)原理 359
7.3.2 棧操作 363
7.3.3 小結(jié) 369
7.3.4 延伸閱讀 370
第8章 元編程 371
8.1 插件系統(tǒng) 371
8.1.1 設(shè)計(jì)原理 371
8.1.2 動(dòng)態(tài)庫(kù) 373
8.1.3 小結(jié) 376
8.1.4 延伸閱讀 376
8.2 代碼生成 377
8.2.1 設(shè)計(jì)原理 377
8.2.2 代碼生成 377
8.2.3 小結(jié) 382
第9章 標(biāo)準(zhǔn)庫(kù) 383
9.1 JSON 383
9.1.1 設(shè)計(jì)原理 383
9.1.2 序列化 385
9.1.3 反序列化 389
9.1.4 小結(jié) 392
9.2 HTTP 392
9.2.1 設(shè)計(jì)原理 393
9.2.2 客戶端 395
9.2.3 服務(wù)端 402
9.2.4 小結(jié) 406
9.3 數(shù)據(jù)庫(kù) 406
9.3.1 設(shè)計(jì)原理 406
9.3.2 驅(qū)動(dòng)接口 407
9.3.3 小結(jié) 410