注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)行業(yè)軟件及應(yīng)用Go職場

Go職場

Go職場

定 價(jià):¥128.00

作 者: [美] 海瑟姆·巴爾蒂(Haythem Balti)金伯利·A.韋斯(Kimberly A. Weiss)著 殷海英 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302655732 出版時(shí)間: 2024-04-01 包裝: 線裝
開本: 32開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  主要內(nèi)容● 如何配置Go語言環(huán)境,并提供設(shè)計(jì)、開發(fā)和測試Go應(yīng)用程序的入門指南?!?對基本數(shù)據(jù)結(jié)構(gòu)(如映射、切片和數(shù)組)的實(shí)際討論?!?gRPC和并發(fā)的基本原理?!?在Go語言中設(shè)計(jì)和開發(fā)API的基礎(chǔ)知識(shí)。

作者簡介

  Haythem Balti博士是Wiley Edge的副院長。他創(chuàng)建了許多門課程,供數(shù)千個(gè)軟件協(xié)會(huì)和Wiley Edge(前身為mthree)校友使用,以學(xué)習(xí)SQL、Go、Java、Python和其他編程語言及數(shù)據(jù)科學(xué)技能。Kimberly A. Weiss是Wiley Edge課程運(yùn)營的高級(jí)經(jīng)理。她與多所大學(xué)以及企業(yè)培訓(xùn)機(jī)構(gòu)合作,針對軟件開發(fā)課程為學(xué)員設(shè)計(jì)成功的交互式教學(xué)案例。

圖書目錄

第I部分  Go編程語言的基礎(chǔ)知識(shí)
第1課  初識(shí)Go語言 2
1.1  安裝Go 2
1.1.1  下載安裝文件 3
1.1.2  開始安裝Go 4
1.2  對安裝結(jié)果進(jìn)行測試 6
1.3  創(chuàng)建Hello, World!程序 8
1.3.1  編譯并運(yùn)行程序 9
1.3.2  其他運(yùn)行方法 10
1.3.3  調(diào)試Hello,World!程序 11
1.3.4  格式化Go代碼 12
1.4  安裝多個(gè)版本的Go 13
1.5  Go的在線編輯器:Go Playground 13
1.6  本課小結(jié) 14
1.7  本課練習(xí) 15
第2課  Go語言基礎(chǔ) 17
2.1  理解語句和標(biāo)記 17
2.2  語句 18
2.3  注釋 20
2.3.1  單行注釋 20
2.3.2  塊注釋或多行注釋 22
2.4  標(biāo)識(shí)符 22
2.4.1  大小寫 24
2.4.2  命名約定 25
2.5  關(guān)鍵字 26
2.6  本課小結(jié) 27
2.7  本課練習(xí) 27
第3課  使用變量 31
3.1  變量 31
3.1.1  命名變量 33
3.1.2  聲明和初始化變量 33
3.2  靜態(tài)和動(dòng)態(tài)類型聲明 35
3.2.1  混合聲明類型 37
3.2.2  在單條語句中混合類型聲明 38
3.3  變量作用域 39
3.4  獲取用戶輸入 40
3.4.1  內(nèi)存地址 40
3.4.2  掃描值 41
3.5  將字符串轉(zhuǎn)換為數(shù)字 43
3.6  數(shù)值數(shù)據(jù)類型 46
3.6.1  獨(dú)立于體系結(jié)構(gòu)的整數(shù)類型 47
3.6.2  超出范圍的值 49
3.6.3  特定于實(shí)現(xiàn)的整數(shù)類型 49
3.6.4  浮點(diǎn)類型 50
3.7  本課小結(jié) 52
3.8  本課練習(xí) 52
第4課  執(zhí)行運(yùn)算 55
4.1  算術(shù)運(yùn)算 55
4.1.1  混合數(shù)字類型 57
4.1.2  數(shù)字類型轉(zhuǎn)換 59
4.1.3  PEMDAS運(yùn)算規(guī)則 60
4.2  賦值運(yùn)算 62
4.2.1  加法和減法賦值運(yùn)算 63
4.2.2  乘法、除法和求模賦值運(yùn)算 64
4.3  使用布爾值 65
4.4  關(guān)系運(yùn)算 66
4.4.1  為布爾變量賦值 67
4.4.2  在關(guān)系運(yùn)算中使用不匹配的類型 68
4.5  布爾運(yùn)算 69
4.6  數(shù)學(xué)函數(shù) 70
4.7  位運(yùn)算 72
4.8  隨機(jī)數(shù) 73
4.8.1  限制值的范圍 74
4.8.2  隨機(jī)數(shù)生成器中的種子 75
4.9  本課小結(jié) 76
4.10  本課練習(xí) 76
第5課  用條件語句控制程序流程 80
5.1  條件語句 80
5.2  使用if語句 81
5.3  使用多個(gè)條件 83
5.4  使用if-else語句 85
5.5  創(chuàng)建嵌套的if語句 86
5.6  使用switch語句 88
5.6.1  使用fallthrough執(zhí)行多個(gè)case 90
5.6.2  在一個(gè)case中使用多個(gè)表達(dá)式 92
5.6.3  在case中使用條件語句 93
5.7  本課小結(jié) 94
5.8  本課練習(xí) 95
第6課  用循環(huán)控制程序流程 99
6.1  循環(huán)語句 99
6.2  for循環(huán) 101
6.2.1  for循環(huán)中的可選項(xiàng) 103
6.2.2  Go中的while語句 104
6.2.3  無限循環(huán) 106
6.3  遍歷字符串 107
6.4  range函數(shù) 108
6.5  循環(huán)控制語句 109
6.5.1  break語句 110
6.5.2  continue語句 111
6.5.3  goto語句 112
6.6  本課小結(jié) 113
6.7  本課練習(xí) 113
第7課  綜合練習(xí):個(gè)稅計(jì)算器 118
7.1  準(zhǔn)備工作 119
7.2  第一步:收集需求 119
7.2.1  使用的值 119
7.2.2  用戶界面 120
7.2.3  其他標(biāo)準(zhǔn) 120
7.3  第二步:設(shè)計(jì)程序 121
7.4  第三步:創(chuàng)建輸入 121
7.5  第四步:計(jì)算應(yīng)稅收入 123
7.6  第五步:計(jì)算稅率 124
7.6.1  添加條件語句 126
7.6.2  創(chuàng)建嵌套條件 128
7.7  第六步:更新應(yīng)用程序 134
7.7.1  如何處理負(fù)的應(yīng)稅收入 136
7.7.2  核實(shí)代碼 137
7.8  第七步:完善用戶界面 138
7.9  自己動(dòng)手實(shí)踐 140
7.10  本課小結(jié) 141
第II部分  用Go組織代碼和數(shù)據(jù)
第8課  使用函數(shù) 144
8.1  定義函數(shù) 144
8.1.1  使用多個(gè)函數(shù) 146
8.1.2  沒有返回值的函數(shù) 147
8.1.3  帶有多個(gè)返回值的函數(shù) 148
8.2  變長函數(shù) 152
8.3  遞歸 153
8.4  將函數(shù)作為值 154
8.5  閉包 155
8.6  本課小結(jié) 157
8.7  本課練習(xí) 157
第9課  訪問數(shù)組 160
9.1  聲明數(shù)組 161
9.1.1  給數(shù)組元素賦值 161
9.1.2  數(shù)組的基本規(guī)則 163
9.1.3  數(shù)組元素和變量的相似性 164
9.2  對數(shù)組進(jìn)行聲明和初始化 166
9.3  推斷數(shù)組大小 167
9.4  使用for循環(huán)填充數(shù)組 168
9.5  在數(shù)組中使用range 169
9.6  創(chuàng)建多維數(shù)組 170
9.7  復(fù)制數(shù)組 171
9.8  比較數(shù)組 172
9.9  本課小結(jié) 174
9.10  本課練習(xí) 174
第10課  使用指針 177
10.1  創(chuàng)建指針 177
10.1.1  初始化指針 179
10.1.2  聲明和初始化指針 179
10.1.3  使用動(dòng)態(tài)類型 180
10.1.4  不同類型的指針 181
10.2  通過指針訪問變量值 183
10.3  了解nil指針 184
10.4  使用指針改變變量值 185
10.5  比較指針 186
10.6  使用指針數(shù)組 187
10.7  在函數(shù)中使用指針 189
10.8  本課小結(jié) 191
10.9  本課練習(xí) 191
第11課  使用結(jié)構(gòu)體 195
11.1  聲明和初始化結(jié)構(gòu)體 195
11.1.1  從結(jié)構(gòu)體中獲取值 197
11.1.2  在聲明結(jié)構(gòu)體變量時(shí)對它進(jìn)行初始化 198
11.1.3  使用短賦值運(yùn)算符 198
11.2  在結(jié)構(gòu)體中使用鍵值對 199
11.3  使用new關(guān)鍵字 201
11.4  指針和結(jié)構(gòu)體 203
11.5  嵌套結(jié)構(gòu)體 204
11.6  向結(jié)構(gòu)體中添加方法 206
11.7  類型和值 208
11.8  對結(jié)構(gòu)體進(jìn)行比較 209
11.9  本課小結(jié) 211
11.10  本課練習(xí) 211
第12課  訪問切片 216
12.1  切片的工作原理 216
12.2  對數(shù)組進(jìn)行切片 217
12.2.1  使用len和cap 219
12.2.2  使用快捷方式 220
12.3  改變切片的大小 221
12.4  對切片進(jìn)行迭代 222
12.5  make函數(shù) 223
12.6  使用var創(chuàng)建切片變量 224
12.7  處理切片元素 225
12.7.1  替換切片中的元素 225
12.7.2  使用空切片 226
12.7.3  使用切片的部分元素 227
12.7.4  在切片中使用range 228
12.8  使用append函數(shù)向切片追加值 229
12.9  復(fù)制切片 230
12.10  使用new關(guān)鍵字創(chuàng)建切片 231
12.11  從切片中刪除元素 232
12.12  本課小結(jié) 234
12.13  本課練習(xí) 234
第13課  操作映射 237
13.1  定義映射 237
13.1.1  維護(hù)類型 239
13.1.2  重復(fù)的鍵 240
13.2  空映射 240
13.3  使用make創(chuàng)建映射 242
13.4  映射的長度 243
13.5  檢索映射元素 244
13.6  檢查映射中的鍵 245
13.7  遍歷映射 246
13.8  從映射中刪除元素 247
13.9  使用字面值聲明映射 249
13.10  本課小結(jié) 250
13.11  本課練習(xí) 250
第14課  創(chuàng)建方法 253
14.1  使用方法 253
14.2  定義方法 255
14.3  在方法中使用指針 256
14.4  命名方法 260
14.5  使用值接收器和參數(shù) 261
14.6  使用指針接收器和參數(shù) 263
14.7  本課小結(jié) 266
14.8  本課練習(xí) 266
第15課  添加接口 271
15.1  創(chuàng)建接口 271
15.2  接口和代碼可重用性 274
15.3  靜態(tài)和動(dòng)態(tài)接口類型 275
15.4  空接口 277
15.5  檢查接口類型 277
15.6  多接口 279
15.7  嵌入式接口 282
15.8  本課小結(jié) 283
15.9  本課練習(xí) 284
第16課  綜合練習(xí):漢堡店應(yīng)用程序 286
16.1  應(yīng)用程序需求 286
16.2  代碼設(shè)計(jì) 287
16.3  創(chuàng)建結(jié)構(gòu)體 288
16.3.1  創(chuàng)建burger結(jié)構(gòu)體 288
16.3.2  創(chuàng)建drink結(jié)構(gòu)體 291
16.3.3  創(chuàng)建side結(jié)構(gòu)體 293
16.3.4  創(chuàng)建combo結(jié)構(gòu)體 295
16.3.5  創(chuàng)建order結(jié)構(gòu)體 296
16.4  創(chuàng)建輔助函數(shù) 298
16.4.1  買漢堡 300
16.4.2 買配餐 301
16.4.3 買飲料 301
16.4.4 買套餐 302
16.5 整合代碼 303
16.6 本課小結(jié) 305
16.7 完整的漢堡店應(yīng)用程序 306
第III部分  用Go創(chuàng)建解決方案
第17課  錯(cuò)誤處理 314
17.1 Go程序中的錯(cuò)誤 314
17.2  Go中的error類型 315
17.3  自定義錯(cuò)誤處理 317
17.4  錯(cuò)誤方法 318
17.5  Errorf函數(shù) 320
17.6  空標(biāo)識(shí)符 321
17.7  用結(jié)構(gòu)體表示錯(cuò)誤消息 322
17.8  多個(gè)自定義錯(cuò)誤消息 323
17.9  本課小結(jié) 326
17.10  本課練習(xí) 326
第18課  并發(fā) 328
18.1  使用并發(fā) 328
18.1.1  操作系統(tǒng)的角色 329
18.1.2  并發(fā)帶來的問題 330
18.1.3  互斥 331
18.2  并行 332
18.2.1  實(shí)現(xiàn)并行 333
18.2.2  防止由并行引發(fā)的問題 334
18.3  使用協(xié)程 334
18.4  多協(xié)程 336
18.5  使用通道 339
18.5.1  使用make創(chuàng)建通道 340
18.5.2  通道和并發(fā) 340
18.5.3  添加延遲 341
18.6  具有多個(gè)協(xié)程的通道 342
18.7  關(guān)閉通道 344
18.8  迭代通道 345
18.9  本課小結(jié) 347
18.10  本課練習(xí) 347
第19課  排序和數(shù)據(jù)處理 349
19.1  排序 349
19.1.1  檢查排序后的值 351
19.1.2  自定義排序函數(shù) 352
19.1.3  改變排序順序 354
19.2  時(shí)間和日期操作 355
19.2.1  定義時(shí)間 357
19.2.2  比較時(shí)間 358
19.2.3  時(shí)間計(jì)算 360
19.2.4  解析時(shí)間 366
19.2.5  使用UNIX時(shí)間 368
19.2.6  格式化標(biāo)準(zhǔn)時(shí)間 369
19.3  正則表達(dá)式 369
19.4  本課小結(jié) 372
19.5  本課練習(xí) 372
第20課  文件I/O和OS操作 377
20.1  讀取文件 377
20.1.1  panic函數(shù) 379
20.1.2  讀取文件的一部分 380
20.1.3  defer語句 382
20.1.4  從特定的起點(diǎn)讀取文件 382
20.1.5  緩沖讀取器 384
20.1.6  按行讀取文件 385
20.2  向文件寫入數(shù)據(jù) 387
20.2.1  創(chuàng)建新文件 388
20.2.2  緩沖寫入器 390
20.3  使用目錄 391
20.3.1  創(chuàng)建目錄 392
20.3.2  刪除目錄 393
20.3.3  創(chuàng)建目錄樹 393
20.3.4  列出目錄內(nèi)容 394
20.3.5  更改目錄 395
20.3.6  臨時(shí)文件和臨時(shí)目錄 397
20.4  命令行參數(shù) 399
20.5  本課小結(jié) 400
20.6  本課練習(xí) 400
第21課  綜合練習(xí):Go語言中的單詞分析 403
21.1  檢查數(shù)據(jù) 403
21.2  讀取評論數(shù)據(jù) 405
21.3  對輸入字符串進(jìn)行分詞 413
21.3.1  識(shí)別標(biāo)點(diǎn)符號(hào)并使用空格進(jìn)行替換 414
21.3.2  將輸入文本轉(zhuǎn)換為小寫 415
21.3.3  將字符串分割為單詞 416
21.4  創(chuàng)建一個(gè)分詞函數(shù) 417
21.4.1  對評論內(nèi)容進(jìn)行分詞 418
21.4.2  對整個(gè)數(shù)據(jù)集進(jìn)行分詞 419
21.5  對每條評論中的單詞進(jìn)行計(jì)數(shù) 419
21.6  對評論進(jìn)行分詞并計(jì)數(shù) 420
21.7  改進(jìn)設(shè)計(jì) 423
21.7.1  改進(jìn)1:優(yōu)化結(jié)構(gòu)體 423
21.7.2  改進(jìn)2:添加自定義錯(cuò)誤和異常處理 428
21.7.3  改進(jìn)3:優(yōu)化分詞 430
21.7.4  改進(jìn)4:優(yōu)化單詞計(jì)數(shù) 431
21.8  進(jìn)一步的改進(jìn) 433
21.9  最終代碼清單 433
21.10  本課小結(jié) 436
第IV部分  Go開發(fā)的高級(jí)主題 
第22課  測試 438
22.1  測試驅(qū)動(dòng)開發(fā) 438
22.2  測試級(jí)別 439
22.3  TDD工作流 440
22.3.1  TDD過程 440
22.3.2  TDD的優(yōu)點(diǎn) 441
22.4  測試包 441
22.4.1  創(chuàng)建程序 442
22.4.2  編寫測試 442
22.4.3  運(yùn)行測試 444
22.5  教程:測試驅(qū)動(dòng)開發(fā) 445
22.5.1  第一個(gè)測試:美元金額的字符串表示 445
22.5.2  第二個(gè)測試:使用其他值進(jìn)行測試 447
22.5.3  第三個(gè)測試:運(yùn)算并輸出結(jié)果 450
22.5.4  對測試進(jìn)行檢查 454
22.5.5  第四個(gè)測試:包含減法 456
22.5.6  最終測試:查看輸入值 459
22.6  行為驅(qū)動(dòng)開發(fā) 462
22.6.1  行為驅(qū)動(dòng)開發(fā)的目標(biāo) 462
22.6.2  避免失敗 463
22.6.3  行為規(guī)范 464
22.6.4  定義用戶故事 465
22.7  本課小結(jié) 466
22.8  本課練習(xí) 466
第23課  API開發(fā)教程 467
23.1  概述和要求 467
23.2  第一步:創(chuàng)建數(shù)據(jù)集和一個(gè)簡單的API 468
23.2.1  定義數(shù)據(jù)集 469
23.2.2  homePage函數(shù) 469
23.2.3  返回處理程序 470
23.2.4  對傳入的請求進(jìn)行處理和路由 470
23.2.5  添加數(shù)據(jù) 471
23.2.6  執(zhí)行請求處理程序 472
23.2.7  運(yùn)行程序 473
23.3  第二步:添加Gorilla Mux路由器 475
23.4  第三步:檢索記錄 478
23.4.1  檢索特定記錄 478
23.4.2  對更新進(jìn)行測試 479
23.5  第四步:添加新記錄 481
23.6  第五步:刪除記錄 486
23.7  本課小結(jié) 490
23.8  本課練習(xí) 490
第24課  使用gRPC 492
24.1  使用gRPC 492
24.2  設(shè)置服務(wù) 493
24.2.1  Git 493
24.2.2  gRPC 494
24.2.3  Protobuf 494
24.2.4  protoc 495
24.2.5  用戶目錄 495
24.3  創(chuàng)建服務(wù)器 496
24.4  創(chuàng)建gRPC服務(wù)器 497
24.5  創(chuàng)建聊天服務(wù) 498
24.6  更新服務(wù)器代碼以添加聊天服務(wù) 499
24.7  創(chuàng)建chat包 500
24.8  創(chuàng)建客戶端 501
24.9  運(yùn)行服務(wù)器和客戶端 503
24.10  本課小結(jié) 503
24.11  本課練習(xí) 504
第25課  綜合練習(xí):使用智能數(shù)據(jù) 505
25.1  項(xiàng)目概要 505
25.2 設(shè)計(jì)我們的API 506
25.3 實(shí)現(xiàn)gRPC服務(wù)器 508
25.3.1 地理位置服務(wù)器外殼 509
25.3.2 金融服務(wù)器外殼 517
25.4 創(chuàng)建API 529
25.4.1 實(shí)現(xiàn)getGeoLocationData端點(diǎn) 531
25.4.2  實(shí)現(xiàn)getQuote端點(diǎn) 532
25.4.3  更新api.go文件 533
25.5  本課小結(jié) 537
第26課  使用模塊 538
26.1  開始使用模塊 538
26.2  第一步:創(chuàng)建項(xiàng)目目錄 538
26.3  第二步:創(chuàng)建程序 539
26.4  第三步:創(chuàng)建測試程序 540
26.5  第四步:創(chuàng)建go.mod文件 540
26.6  第五步:對模塊進(jìn)行測試 541
26.7  第六步:使用模塊 541
26.8  命名模塊函數(shù) 541
26.9  本課小結(jié) 542
26.10  本課練習(xí) 542
附錄A  文件權(quán)限和訪問權(quán)限 544
 

本目錄推薦

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