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

GO語言編程從入門到實(shí)踐

GO語言編程從入門到實(shí)踐

定 價(jià):¥108.00

作 者: 黃永祥 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302603894 出版時(shí)間: 2022-06-01 包裝: 平裝
開本: 16開 頁數(shù): 424 字?jǐn)?shù):  

內(nèi)容簡介

  本書是一本來自一線開發(fā)者的Go語言編程入門書,深入淺出地講述了Go語言的語法特性和編程實(shí)踐,全書分為基礎(chǔ)和項(xiàng)目兩部分,基礎(chǔ)部分主要介紹Go語言開發(fā)環(huán)境的搭建、基礎(chǔ)語法、數(shù)據(jù)類型、指針、內(nèi)置容器、函數(shù)、結(jié)構(gòu)體、接口、反射、并發(fā)編程、包的應(yīng)用與管理、目錄與文件管理、時(shí)間管理、數(shù)據(jù)庫編程等,項(xiàng)目部分主要介紹網(wǎng)頁自動化測試程序、網(wǎng)絡(luò)爬蟲程序、網(wǎng)絡(luò)信息反饋網(wǎng)站的開發(fā)實(shí)踐,此外,還介紹了Go語言程序的編譯方法。本書各章還提供了近20個(gè)動手練習(xí)小項(xiàng)目,便于讀者邊學(xué)邊練,迅速提升編程技能。 本書通俗易懂,體系完備,注重實(shí)踐,適合對Go語言感興趣的各層次讀者使用。

作者簡介

  黃永祥,資深軟件工程師,從業(yè)10年,先后從事過系統(tǒng)開發(fā)和自動化開發(fā),精通(B/S和C/S)自動化測試技術(shù),尤其是對Go語言、Python語言及Gin、Django等Web框架擁有豐富的經(jīng)驗(yàn)。已出版《實(shí)戰(zhàn)Python網(wǎng)絡(luò)爬蟲》《Django Web應(yīng)用開發(fā)實(shí)戰(zhàn)》《精通Python自動化編程》等多部IT技術(shù)圖書。

圖書目錄

第1章 認(rèn)識Go語言 1
1.1 Go語言簡介 1
1.2 Go語言的優(yōu)勢與特性 2
1.3 在Windows下安裝Go 3
1.4 在Linux下安裝Go 6
1.5 在macOS下安裝Go 8
1.6 安裝GoLand 9
1.7 搭建GoLand環(huán)境 10
1.8 第一個(gè)Go程序“Hello World” 11
1.9 動手練習(xí):編程實(shí)現(xiàn)人機(jī)交互 12
1.10 小結(jié) 14
第2章 基礎(chǔ)語法 15
2.1 關(guān)鍵字與標(biāo)識符 15
2.1.1 關(guān)鍵字 15
2.1.2 標(biāo)識符命名規(guī)范 17
2.1.3 空白標(biāo)識符 18
2.1.4 預(yù)聲明標(biāo)識符 19
2.1.5 導(dǎo)出標(biāo)識符 21
2.1.6 唯一標(biāo)識符 22
2.2 變量與常量 22
2.2.1 變量定義與賦值 22
2.2.2 常量與iota 24
2.3 運(yùn)算符的使用 26
2.3.1 算術(shù)運(yùn)算符 26
2.3.2 關(guān)系運(yùn)算符 27
2.3.3 賦值運(yùn)算符 28
2.3.4 邏輯運(yùn)算符 30

2.3.5 位運(yùn)算符 31
2.3.6 其他運(yùn)算符 33
2.3.7 運(yùn)算符優(yōu)先級 33
2.4 代碼注釋 34
2.5 動手練習(xí):編程實(shí)現(xiàn)個(gè)人健康評測 35
2.6 小結(jié) 36
第3章 數(shù)據(jù)類型 38
3.1 整型的取值范圍 38
3.2 浮點(diǎn)類型與精度丟失 40
3.3 復(fù)數(shù)的計(jì)算 42
3.4 布爾型的應(yīng)用 43
3.5 ASCII與Unicode編碼 44
3.6 字符類型 45
3.7 字符串操作 45
3.7.1 字符串與轉(zhuǎn)義符 46
3.7.2 字符串格式化 47
3.7.3 字符串拼接 49
3.7.4 獲取字符串長度 50
3.7.5 遍歷字符串 51
3.7.6 字符位置與截取 52
3.7.7 字符串分割 53
3.7.8 字符串替換 54
3.8 轉(zhuǎn)換數(shù)據(jù)類型 55
3.8.1 整型與浮點(diǎn)型 55
3.8.2 整型與字符串 56
3.8.3 浮點(diǎn)型與字符串 57
3.9 動手練習(xí):編程實(shí)現(xiàn)在線客服熱線 59
3.10 小結(jié) 61
第4章 流程控制 62
4.1 if的條件判斷 62
4.2 if的多層嵌套 64
4.3 switch的多條件分支 65
4.4 for的循環(huán)遍歷 69
4.5 for-range獲取鍵值 70
4.6 break越級終止循環(huán) 71
4.7 continue跳過本次循環(huán) 72
4.8 goto跳到指定代碼 73
4.9 動手練習(xí):編程實(shí)現(xiàn)簡易計(jì)算器 74
4.10 小結(jié) 77
第5章 指針 78
5.1 指針的概念 78
5.2 指針定義與空指針 79
5.3 指針賦值與取值 81
5.4 切片指針 83
5.5 指針的指針 86
5.6 動手練習(xí):編程實(shí)現(xiàn)彩票36選7 87
5.7 小結(jié) 90
第6章 內(nèi)置容器 91
6.1 數(shù)組 91
6.1.1 數(shù)組定義與操作 91
6.1.2 數(shù)組初始化定義 92
6.1.3 多維數(shù)組 93
6.2 切片 95
6.2.1 切片定義與操作 95
6.2.2 新增切片元素 97
6.2.3 截取切片元素 98
6.2.4 復(fù)制切片 100
6.2.5 切片長度與容量 101
6.3 集合 102
6.3.1 集合定義與操作 102
6.3.2 刪除集合元素 104

6.4 動手練習(xí):編程實(shí)現(xiàn)集合與
JSON互換 104
6.5 列表 107
6.5.1 列表定義 107
6.5.2 列表元素操作 108
6.5.3 遍歷列表元素 110
6.6 動手練習(xí):編程實(shí)現(xiàn)產(chǎn)品抽樣
檢測 112
6.7 小結(jié) 114
第7章 函數(shù) 116
7.1 函數(shù)定義與調(diào)用 116
7.2 不固定參數(shù)數(shù)量 119
7.3 函數(shù)以變量表示 120
7.4 沒有名字的函數(shù) 121
7.5 引用外部變量的函數(shù) 122
7.6 函數(shù)自身調(diào)用 123
7.7 動手練習(xí):編程實(shí)現(xiàn)創(chuàng)建文件
后綴名 124
7.8 小結(jié) 126
第8章 結(jié)構(gòu)體 127
8.1 Go的“面向?qū)ο蟆?127
8.2 結(jié)構(gòu)體定義與實(shí)例化 128
8.3 指針方式的實(shí)例化 130
8.4 結(jié)構(gòu)體標(biāo)簽 131
8.5 匿名結(jié)構(gòu)體與匿名成員 133
8.6 結(jié)構(gòu)體嵌套 134
8.7 自定義構(gòu)造函數(shù) 136
8.8 結(jié)構(gòu)體方法:指針與值接收者 138
8.9 動手練習(xí):編程實(shí)現(xiàn)結(jié)構(gòu)體與
JSON互換 140
8.10 動手練習(xí):編程實(shí)現(xiàn)多鍵索引
查詢數(shù)據(jù) 142
8.11 小結(jié) 145

第9章 接口 147
9.1 接口定義與使用 147
9.2 鴨子類型 150
9.3 多態(tài)與工廠函數(shù) 152
9.4 接口的自由組合 153
9.5 任意數(shù)據(jù)類型的空接口 156
9.6 接口的類型斷言 158
9.7 動手練手:編程實(shí)現(xiàn)營救村民
游戲 161
9.8 小結(jié) 166
第10章 反射 168
10.1 什么是反射 168
10.2 第一定律:接口變量轉(zhuǎn)反射
變量 169
10.3 第二定律:反射變量轉(zhuǎn)接口
變量 170
10.4 第三定律:修改反射變量的值 171
10.5 反射的類型與種類 173
10.6 切片與反射 175
10.7 集合與反射 177
10.8 結(jié)構(gòu)體與反射 180
10.9 指針與反射 187
10.10 函數(shù)與反射 190
10.11 動手練習(xí):編程實(shí)現(xiàn)對象序列化
處理 192
10.12 小結(jié) 193
第11章 并發(fā)編程 194
11.1 異步的概念 194
11.2 Goroutine 195
11.3 函數(shù)創(chuàng)建Goroutine 197
11.4 匿名函數(shù)創(chuàng)建Goroutine 199
11.5 通道 200
11.6 無緩沖通道 202
11.7 帶緩沖通道 204
11.8 關(guān)閉通道讀取數(shù)據(jù) 205
11.9 Select處理多通道 207
11.10 sync同步等待 208
11.11 sync加鎖機(jī)制 210
11.12 sync.Map的應(yīng)用 214
11.13 動手練習(xí):編程模擬餐館經(jīng)營
場景 219
11.14 小結(jié) 221
第12章 語法特性 223
12.1 panic觸發(fā)宕機(jī) 223
12.2 defer延時(shí)執(zhí)行 224
12.3 recover宕機(jī)時(shí)恢復(fù)執(zhí)行 225
12.4 值類型、引用類型與深淺拷貝 226
12.5 類型別名與自定義 229
12.6 new和make的區(qū)別 231
12.7 泛型的概念與應(yīng)用 234
12.8 動手練習(xí):編程實(shí)現(xiàn)出租車費(fèi)用
計(jì)算 236
12.9 小結(jié) 238
第13章 包的應(yīng)用與管理 239
13.1 常用內(nèi)置包 239
13.2 包命名與導(dǎo)入 240
13.3 包的重命名 242
13.4 無包名調(diào)用 242
13.5 初始化函數(shù)init()與空導(dǎo)入 243
13.6 包的自定義與使用 245
13.7 包管理工具go mod 246
13.8 第三方包下載與使用 249
13.9 動手練習(xí):編程實(shí)現(xiàn)排序算法 251
13.10 小結(jié) 255
第14章 目錄與文件處理 257
14.1 使用os實(shí)現(xiàn)系統(tǒng)操作 257
14.2 使用path獲取路徑信息 262
14.3 使用os讀寫文件 267
14.4 使用io/ioutil讀寫文件 270
14.5 使用bufio讀寫文件 272
14.6 使用encoding/csv讀寫CSV文件 275
14.7 使用encoding/json讀寫
JSON文件 278
14.8 第三方包讀寫Excel文件 280
14.9 動手練習(xí):編程實(shí)現(xiàn)學(xué)生管理
系統(tǒng) 283
14.10 小結(jié) 286
第15章 時(shí)間處理 287
15.1 時(shí)間戳 287
15.2 結(jié)構(gòu)體Time 289
15.3 字符串格式化 290
15.4 時(shí)間類型的相互轉(zhuǎn)換 292
15.5 時(shí)間計(jì)算操作 293
15.6 延時(shí)、超時(shí)與定時(shí) 297
15.7 動手練習(xí):編程實(shí)現(xiàn)個(gè)人
備忘錄 300
15.8 小結(jié) 302
第16章 數(shù)據(jù)庫編程 304
16.1 搭建SQLite運(yùn)行環(huán)境 304
16.2 安裝與使用MySQL 306
16.3 安裝與使用MongoDB 309
16.4 安裝與使用Redis 312
16.5 go-sqlite3讀寫SQLite 314
16.6 go-sql-driver/mysql讀寫MySQL 317
16.7 mongo-driver讀寫MongoDB 320
16.8 go-redis讀寫Redis 325
16.9 ORM框架:Gorm 330
16.10 動手練習(xí):編程實(shí)現(xiàn)員工管理
系統(tǒng) 335
16.11 小結(jié) 337

第17章 Go項(xiàng)目——網(wǎng)頁自動化測試
程序開發(fā) 339
17.1 了解自動化工具Selenium 339
17.2 安裝Selenium 340
17.3 使用瀏覽器查找元素 342
17.4 瀏覽器配置與啟動 345
17.5 網(wǎng)頁元素定位 349
17.6 網(wǎng)頁元素操作 353
17.7 瀏覽器常用操作 356
17.8 網(wǎng)頁加載等待 358
17.9 iframe與標(biāo)簽頁切換 360
17.10 Cookie讀寫 363
17.11 動手練習(xí):編程實(shí)現(xiàn)爬取
BOSS直聘招聘數(shù)據(jù) 365
17.12 小結(jié) 370
第18章 Go項(xiàng)目——網(wǎng)絡(luò)爬蟲程序
開發(fā) 372
18.1 HTTP與HTTPS 372
18.2 請求頭 374
18.3 使用瀏覽器分析網(wǎng)站 375
18.4 使用net/http發(fā)送請求 377
18.5 轉(zhuǎn)碼與HTML解析 379
18.6 選擇數(shù)據(jù)存儲方式 382
18.7 動手練習(xí):編程實(shí)現(xiàn)爬取
電影TOP100榜單 383
18.8 小結(jié) 388
第19章 Go項(xiàng)目——網(wǎng)絡(luò)編程應(yīng)用 389
19.1 TCP和UDP的區(qū)別 389
19.2 創(chuàng)建TCP應(yīng)用 390
19.3 創(chuàng)建UDP應(yīng)用 393
19.4 創(chuàng)建HTTP服務(wù)應(yīng)用 396
19.5 httprouter擴(kuò)展路由 399

19.6 多種響應(yīng)處理方式 401
19.7 HTML模板引擎 404
19.8 網(wǎng)站項(xiàng)目:信息反饋平臺的開發(fā) 410
19.8.1 網(wǎng)站功能需求 410
19.8.2 項(xiàng)目架構(gòu)設(shè)計(jì) 411
19.8.3 搭建開發(fā)環(huán)境 412
19.8.4 定義模型與路由 412
19.8.5 編寫模板文件 415
19.8.6 網(wǎng)站運(yùn)行與測試 417
19.9 小結(jié) 419
第20章 編譯與運(yùn)行 420
20.1 run與build的區(qū)別 420
20.2 單文件編譯 421
20.3 同包多文件編譯 422
20.4 不同包多文件編譯 422
20.5 編譯參數(shù)說明 423
20.6 小結(jié) 424

本目錄推薦

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