注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Go語言編程入門與實戰(zhàn)技巧

Go語言編程入門與實戰(zhàn)技巧

Go語言編程入門與實戰(zhàn)技巧

定 價:¥79.00

作 者: 黃靖鈞 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121349669 出版時間: 2018-09-01 包裝: 平裝
開本: 16開 頁數(shù): 420 字數(shù):  

內(nèi)容簡介

  《Go語言編程入門與實戰(zhàn)技巧》從內(nèi)容上分為三大部分,第一部分主要介紹Go語言的基礎(chǔ)知識,包括Go語言的安裝和開發(fā)工具,介紹了Go語言的特性與適合的場景,然后講解了Go語言的程序結(jié)構(gòu)和數(shù)據(jù)類型,并針對函數(shù)和一些關(guān)鍵字的用法與數(shù)據(jù)類型的調(diào)用原理做了闡述。第二部分介紹了Go語言數(shù)據(jù)結(jié)構(gòu)和標準庫,結(jié)合實際應(yīng)用場景探討了日常生產(chǎn)環(huán)境會遇到的問題與解決辦法。第三部分主要介紹Go語言的測試工具和用法,并重點講解了Go語言的內(nèi)存管理機制,深入理解Go語言的設(shè)計哲學(xué),了解Go語言底層的內(nèi)存管理和并發(fā)機制,為更進一步的學(xué)習(xí)打下堅實的基礎(chǔ)。本書適合對計算機編程尤其是對Go語言編程感興趣的新手作為入門教程閱讀,還適合想在Web開發(fā)領(lǐng)域有所發(fā)展的程序員學(xué)習(xí)。

作者簡介

  黃靖鈞:全棧開發(fā)者,長期以來一直使用Go語言開發(fā)網(wǎng)絡(luò)應(yīng)用,在Go語言編程方面經(jīng)驗豐富。熱衷開源,深度參與Docker及其生態(tài)建設(shè),積極為Potainer等眾多著名項目貢獻代碼。曾任PaaS與CaaS等類型項目的后端Go開發(fā),現(xiàn)從事基礎(chǔ)設(shè)施架構(gòu)與數(shù)據(jù)中心開發(fā)工作,專注高并發(fā)、微服務(wù)領(lǐng)域的研究。

圖書目錄

第1章 認識Go語言 1
1.1 Go語言簡介 1
1.1.1 Go語言簡史 1
1.1.2 Go語言特性 2
1.1.3 誰適合使用Go語言 2
1.2 Go語言的開發(fā)環(huán)境部署 3
1.2.1 Go語言環(huán)境變量 3
1.2.2 在Linux上安裝Go語言環(huán)境 3
1.2.3 在Mac OS上安裝Go語言環(huán)境 5
1.2.4 在Windows上安裝Go語言環(huán)境 5
1.3 Go語言的基本命令及使用 5
1.3.1 GOROOT結(jié)構(gòu) 6
1.3.2 GOPATH結(jié)構(gòu) 7
1.3.3 Go語言命令行參數(shù) 8
1.3.4 第一個Go語言程序 12
1.4 Go語言的開發(fā)工具 14
1.4.1 Code/Atom 14
1.4.2 VIM-Go 17
1.4.3 Gogland 18
1.4.4 LiteIDE 18
1.4.5 Cloud IDE 19
1.5 本章小結(jié) 23
第2章 程序結(jié)構(gòu) 24
2.1 Go語言程序元素 24
2.1.1 標識符 24
2.1.2 關(guān)鍵字 25
2.1.3 字面量 25
2.1.4 分隔符 25
2.1.5 運算符 26
2.1.6 注釋 27
2.2 Go語言基本概念 28
2.2.1 常量 28
2.2.2 變量 32
2.3 本章小結(jié) 37
第3章 基礎(chǔ)數(shù)據(jù)類型 38
3.1 整型 39
3.1.1 整型的表示 39
3.1.2 整型的運算 39
3.2 浮點型 41
3.2.1 浮點型的表示 41
3.2.2 浮點型的運算 42
3.2.3 復(fù)數(shù) 42
3.3 字符與字符串 44
3.3.1 字符串的表示 44
3.3.2 操作字符串 46
3.3.3 字符串格式化 60
3.4 布爾型 61
3.4.1 布爾型的表示 61
3.4.2 布爾型的運算 62
3.5 基本數(shù)據(jù)類型的擴展 63
3.5.1 強制類型轉(zhuǎn)換 63
3.5.2 自定義類型 64
3.5.3 類型別名 64
3.5.4 指針 65
3.6 本章小結(jié) 69
第4章 流程控制 70
4.1 條件語句 70
4.1.1 if判斷 71
4.1.2 if-else判斷 71
4.1.3 else-if判斷 73
4.1.4 初始化子語句 74
4.2 選擇語句 75
4.2.1 switch語句 75
4.2.2 switch初始化語句 78
4.2.3 select語句 79
4.3 循環(huán)語句 80
4.3.1 for的子語句 81
4.3.2 range子語句 82
4.4 延遲語句 84
4.5 標簽 87
4.5.1 break 87
4.5.2 continue 89
4.5.3 goto 90
4.6 本章小結(jié) 91
第5章 函數(shù) 92
5.1 認識函數(shù) 92
5.1.1 函數(shù)的聲明 92
5.1.2 函數(shù)的參數(shù) 93
5.1.3 函數(shù)的返回值 94
5.2 函數(shù)的基礎(chǔ) 95
5.2.1 多返回值 96
5.2.2 函數(shù)作為參數(shù) 97
5.2.3 函數(shù)作為類型 98
5.2.4 可變參數(shù) 99
5.2.5 匿名函數(shù)與閉包 102
5.2.6 遞歸函數(shù) 106
5.2.7 內(nèi)置函數(shù) 108
5.3 函數(shù)進階 108
5.3.1 參數(shù)傳遞機制 108
5.3.2 defer與跟蹤 111
5.3.3 錯誤與恢復(fù) 116
5.4 本章小結(jié) 122
第6章 復(fù)合數(shù)據(jù)類型 123
6.1 數(shù)組 123
6.1.1 聲明數(shù)組 123
6.1.2 訪問與修改 124
6.1.3 多維數(shù)組 126
6.1.4 將數(shù)組傳遞給函數(shù) 127
6.2 切片 128
6.2.1 創(chuàng)建數(shù)組切片 129
6.2.2 切片的使用 131
6.2.3 多維切片 137
6.2.4 將切片傳遞給函數(shù) 137
6.3 映射 138
6.3.1 映射的實現(xiàn) 138
6.3.2 映射的創(chuàng)建 139
6.3.3 映射的使用 139
6.3.4 將映射傳遞給函數(shù) 141
6.4 本章小結(jié) 142
第7章 包 144
7.1 包的基礎(chǔ) 144
7.1.1 包的結(jié)構(gòu) 146
7.1.2 包的導(dǎo)入 147
7.1.3 包的使用 153
7.1.4 Go語言工具箱 154
7.2 自定義包 156
7.2.1 包的制作 157
7.2.2 特定平臺的代碼 157
7.2.3 godoc生成文檔 158
7.2.4 包的打包與發(fā)布 159
7.2.5 自定義包的導(dǎo)入 164
7.3 本章小結(jié) 165
第8章 結(jié)構(gòu)體與方法 166
8.1 結(jié)構(gòu)體 166
8.1.1 結(jié)構(gòu)體定義 166
8.1.2 結(jié)構(gòu)體使用 172
8.1.3 帶標簽的結(jié)構(gòu)體 175
8.1.4 匿名字段和內(nèi)嵌結(jié)構(gòu)體 176
8.2 類型系統(tǒng) 179
8.2.1 用戶自定義類型 179
8.2.2 值語義和引用語義 182
8.3 方法 184
8.3.1 方法聲明 184
8.3.2 為類型添加方法 187
8.3.3 工廠方法創(chuàng)建結(jié)構(gòu)體 188
8.3.4 基于指針對象的方法 190
8.3.5 方法值和方法表達式 191
8.3.6 方法和未導(dǎo)出字段 193
8.3.7 嵌入類型的方法和繼承 194
8.4 本章小結(jié) 197
第9章 接口與反射 198
9.1 接口 198
9.1.1 接口是什么 199
9.1.2 接口類型與約定 204
9.1.3 接口實現(xiàn) 208
9.1.4 嵌套接口 210
9.1.5 接口賦值 211
9.1.6 接口查詢 213
9.1.7 接口組合 214
9.2 反射 215
9.2.1 方法和類型的反射 215
9.2.2 通過反射修改設(shè)置值 216
9.2.3 反射結(jié)構(gòu) 218
9.2.4 Printf和反射 220
9.3 本章小結(jié) 222
第10章 并發(fā)編程 223
10.1 并發(fā)編程基礎(chǔ) 223
10.1.1 并發(fā)與并行 223
10.1.2 指定使用核心數(shù) 225
10.2 協(xié)程(goroutine) 227
10.2.1 協(xié)程基礎(chǔ) 228
10.2.2 協(xié)程間通信 229
10.3 通道(channel) 231
10.3.1 基本語法 232
10.3.2 select 232
10.3.3 緩沖機制 233
10.3.4 超時和計時器 234
10.3.5 channel的傳遞 235
10.3.6 單向channel 236
10.3.7 關(guān)閉channel 237
10.4 并發(fā)進階 237
10.4.1 多核并行化 237
10.4.2 協(xié)程同步 239
10.4.3 協(xié)程和恢復(fù) 242
10.5 本章小結(jié) 243
第11章 網(wǎng)絡(luò)編程 244
11.1 Socket編程 244
11.1.1 什么是Socket 244
11.1.2 Dial()函數(shù) 246
11.1.3 ICMP示例 247
11.1.4 TCP Socket 249
11.1.5 UDP Socket 253
11.2 HTTP編程 255
11.2.1 HTTP客戶端 255
11.2.2 HTTP服務(wù)器端 260
11.3 RPC編程 262
11.3.1 Go RPC 263
11.3.2 HTTP RPC 263
11.3.3 TCP RPC 266
11.3.4 JSON RPC 268
11.3.5 RPC接口 271
11.4 數(shù)據(jù)庫 272
11.4.1 database/sql接口 272
11.4.2 使用MySQL數(shù)據(jù)庫 277
11.4.3 使用SQLite數(shù)據(jù)庫 280
11.4.4 使用PostgreSQL數(shù)據(jù)庫 282
11.4.5 NoSQL數(shù)據(jù)庫操作 286
11.5 Go語言使用Cookie 287
11.5.1 設(shè)置Cookie 287
11.5.2 讀取Cookie 288
11.6 本章小結(jié) 288
第12章 I/O編程 289
12.1 輸入/輸出 289
12.1.1 io:基本I/O接口 289
12.1.2 fmt:格式化I/O 292
12.1.3 文本處理 298
12.2 文件系統(tǒng) 298
12.2.1 os:系統(tǒng)功能實現(xiàn) 298
12.2.2 path:兼容路徑操作 299
12.3 數(shù)據(jù)結(jié)構(gòu)與算法 303
12.3.1 排序 304
12.3.2 container 310
12.4 本章小結(jié) 314
第13章 文件處理 315
13.1 文件操作 315
13.1.1 創(chuàng)建文件與查看狀態(tài) 316
13.1.2 重命名與移動 319
13.1.3 打開與關(guān)閉 319
13.1.4 刪除與截斷 321
13.1.5 讀寫文件 321
13.1.6 權(quán)限控制 325
13.1.7 文件鏈接 328
13.2 XML處理 330
13.2.1 解析XML 330
13.2.2 生成XML 333
13.3 JSON處理 336
13.3.1 解析JSON 336
13.3.2 生成JSON 338
13.4 日志記錄 340
13.4.1 Logrus 341
13.4.2 Seelog 342
13.5 壓縮 343
13.5.1 打包與解包 343
13.5.2 壓縮與解壓 345
13.6 本章小結(jié) 347
第14章 安全與測試 348
14.1 安全 348
14.1.1 安全相關(guān)的基礎(chǔ)概念 348
14.1.2 通信安全 350
14.2 測試 354
14.2.1 單元測試 354
14.2.2 基準測試 362
14.3 本章小結(jié) 368
第15章 內(nèi)存管理 369
15.1 內(nèi)存分配 369
15.1.1 內(nèi)存管理基本概念 369
15.1.2 逃逸分析 373
15.2 TCMalloc 376
15.2.1 整體結(jié)構(gòu) 377
15.2.2 小內(nèi)存分配 378
15.2.3 CentralCache 379
15.2.4 大內(nèi)存分配 381
15.3 Mspan(內(nèi)存管理器) 384
15.4 垃圾回收 398
15.4.1 標記清理算法 399
15.4.2 標記實現(xiàn) 403
15.4.3 清理 406
15.4.4 監(jiān)控 408
15.5 本章小結(jié) 408

本目錄推薦

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