注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Go語言設計與實現

Go語言設計與實現

Go語言設計與實現

定 價:¥139.80

作 者: 左書祺(@Draven) 著
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115576613 出版時間: 2021-11-01 包裝: 平裝
開本: 16開 頁數: 420 字數:  

內容簡介

  本書基于在讀者之間廣為傳閱的同名開源電子書《Go語言設計與實現》,是難得一見的Go語言進階圖書。書中結合近200幅生動的全彩圖片,配上詳盡的文字剖析與精選源代碼段,為讀者奉上了異彩紛呈、系統(tǒng)完善的Go語言解讀。本書內容分為9章:調試源代碼、編譯原理、數據結構、語言特性、常用關鍵字、并發(fā)編程、內存管理、元編程和標準庫,幾乎涵蓋了Go語言從編譯到運行的方方面面。書中的代碼片段基于Go 1.15。通過閱讀本書,讀者不僅能夠深入理解Go語言的實現細節(jié),而且可以深刻認識設計背后的原理,同時提升閱讀源代碼的技能。

作者簡介

  左書祺(@Draven) Kubernetes貢獻者、前調度器項目組成員、云計算和資源調度架構師?!懊嫦蛐叛鼍幊獭辈┛妥髡?,開源電子書《Go語言設計與實現》作者,“真沒什么邏輯”主理人。長期維護開源項目?!禛o語言設計與實現》有30多萬讀者追更,全網閱讀量已經超過100萬。

圖書目錄

前言 iii

第 1章 調試源代碼 1

1.1 Go語言源代碼 1

1.2 編譯源代碼 2

1.3 中間代碼 3

1.4 小結 4

第 2章 編譯原理 5

2.1 編譯過程 5

2.1.1 預備知識 5

2.1.2 編譯四階段 7

2.1.3 編譯器入口 10

2.1.4 小結 11

2.1.5 延伸閱讀 12

2.2 詞法分析和語法分析 12

2.2.1 詞法分析 12

2.2.2 語法分析 17

2.2.3 小結 26

2.2.4 延伸閱讀 26

2.3 類型檢查 26

2.3.1 強弱類型 26

2.3.2 靜態(tài)類型與動態(tài)類型 27

2.3.3 執(zhí)行過程 28

2.3.4 小結 34

2.4 中間代碼生成 34

2.4.1 概述 34

2.4.2 配置初始化 35

2.4.3 遍歷和替換 37

2.4.4 SSA生成 40

2.4.5 小結 44

2.5 機器碼生成 44

2.5.1 指令集架構 44

2.5.2 機器碼生成 45

2.5.3 小結 49

2.5.4 延伸閱讀 50

第3章 數據結構 51

3.1 數組 51

3.1.1 概述 51

3.1.2 初始化 52

3.1.3 訪問和賦值 55

3.1.4 小結 57

3.1.5 延伸閱讀 58

3.2 切片 58

3.2.1 數據結構 58

3.2.2 初始化 59

3.2.3 訪問元素 63

3.2.4 追加和擴容 64

3.2.5 復制切片 67

3.2.6 小結 68

3.2.7 延伸閱讀 68

3.3 哈希表 68

3.3.1 設計原理 69

3.3.2 數據結構 72

3.3.3 初始化 74

3.3.4 讀寫操作 77

3.3.5 小結 88

3.3.6 延伸閱讀 88

3.4 字符串 88

3.4.1 數據結構 89

3.4.2 解析過程 89

3.4.3 拼接 91

3.4.4 類型轉換 93

3.4.5 小結 95

3.4.6 延伸閱讀 95

第4章 語言特性 96

4.1 函數調用 96

4.1.1 調用慣例 96

4.1.2 參數傳遞 101

4.1.3 小結 104

4.1.4 延伸閱讀 104

4.2 接口 105

4.2.1 概述 105

4.2.2 數據結構 111

4.2.3 類型轉換 113

4.2.4 類型斷言 116

4.2.5 動態(tài)派發(fā) 118

4.2.6 小結 122

4.2.7 延伸閱讀 122

4.3 反射 123

4.3.1 三大法則 124

4.3.2 類型和值 127

4.3.3 更新變量 129

4.3.4 實現協(xié)議 130

4.3.5 方法調用 132

4.3.6 小結 135

4.3.7 延伸閱讀 135

第5章 常用關鍵字 136

5.1 for和range 136

5.1.1 現象 137

5.1.2 經典循環(huán) 140

5.1.3 范圍循環(huán) 141

5.1.4 小結 147

5.2 select 148

5.2.1 現象 148

5.2.2 數據結構 151

5.2.3 實現原理 151

5.2.4 小結 160

5.2.5 延伸閱讀 161

5.3 defer 161

5.3.1 現象 161

5.3.2 數據結構 163

5.3.3 執(zhí)行機制 164

5.3.4 堆中分配 164

5.3.5 棧上分配 168

5.3.6 開放編碼 169

5.3.7 小結 173

5.3.8 延伸閱讀 174

5.4 panic和recover 174

5.4.1 現象 175

5.4.2 數據結構 177

5.4.3 程序崩潰 178

5.4.4 崩潰恢復 179

5.4.5 小結 181

5.4.6 延伸閱讀 181

5.5 make和new 181

5.5.1 make 182

5.5.2 new 183

5.5.3 小結 184

第6章 并發(fā)編程 185

6.1 上下文 185

6.1.1 設計原理 186

6.1.2 默認上下文 187

6.1.3 取消信號 188

6.1.4 傳值方法 192

6.1.5 小結 192

6.1.6 延伸閱讀 192

6.2 同步原語與鎖 193

6.2.1 基本原語 193

6.2.2 擴展原語 209

6.2.3 小結 218

6.2.4 延伸閱讀 218

6.3 計時器 219

6.3.1 設計原理 219

6.3.2 數據結構 222

6.3.3 狀態(tài)機 223

6.3.4 觸發(fā)計時器 229

6.3.5 小結 231

6.3.6 延伸閱讀 232

6.3.7 歷史變更 232

6.4 Channel 232

6.4.1 設計原理 232

6.4.2 數據結構 234

6.4.3 創(chuàng)建Channel 235

6.4.4 發(fā)送數據 237

6.4.5 接收數據 240

6.4.6 關閉Channel 245

6.4.7 小結 246

6.4.8 延伸閱讀 246

6.5 調度器 246

6.5.1 設計原理 247

6.5.2 數據結構 255

6.5.3 調度器啟動 260

6.5.4 創(chuàng)建Goroutine 261

6.5.5 調度循環(huán) 266

6.5.6 觸發(fā)調度 269

6.5.7 線程管理 274

6.5.8 小結 276

6.5.9 延伸閱讀 276

6.6 網絡輪詢器 276

6.6.1 設計原理 276

6.6.2 數據結構 280

6.6.3 多路復用 281

6.6.4 小結 288

6.6.5 延伸閱讀 289

6.7 系統(tǒng)監(jiān)控 289

6.7.1 設計原理 289

6.7.2 監(jiān)控循環(huán) 289

6.7.3 小結 296

第7章 內存管理 297

7.1 內存分配器 297

7.1.1 設計原理 297

7.1.2 內存管理組件 304

7.1.3 內存分配 317

7.1.4 小結 322

7.1.5 延伸閱讀 322

7.1.6 歷史變更 322

7.2 垃圾收集器 323

7.2.1 設計原理 323

7.2.2 演進過程 331

7.2.3 實現原理 334

7.2.4 小結 358

7.2.5 延伸閱讀 358

7.3 ??臻g管理 358

7.3.1 設計原理 359

7.3.2 棧操作 363

7.3.3 小結 369

7.3.4 延伸閱讀 370

第8章 元編程 371

8.1 插件系統(tǒng) 371

8.1.1 設計原理 371

8.1.2 動態(tài)庫 373

8.1.3 小結 376

8.1.4 延伸閱讀 376

8.2 代碼生成 377

8.2.1 設計原理 377

8.2.2 代碼生成 377

8.2.3 小結 382

第9章 標準庫 383

9.1 JSON 383

9.1.1 設計原理 383

9.1.2 序列化 385

9.1.3 反序列化 389

9.1.4 小結 392

9.2 HTTP 392

9.2.1 設計原理 393

9.2.2 客戶端 395

9.2.3 服務端 402

9.2.4 小結 406

9.3 數據庫 406

9.3.1 設計原理 406

9.3.2 驅動接口 407

9.3.3 小結 410

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號