3dwoo大學簡體電腦書店
Go語言極簡一本通:零基礎入門到項目實戰
( 簡體 字)
作者:歡喜類別:1. -> 程式設計 -> Go語言
出版社:電子工業出版社Go語言極簡一本通:零基礎入門到項目實戰 3dWoo書號: 54270
詢問書籍請說出此書號!
有庫存
NT售價: 495
出版日:3/1/2021
頁數:256
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121407482 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第一部分 基礎知識
第1章 起步 1
1.1 源代碼與程序 1
1.2 變量的命名 2
1.3 指針 4
1.4 包和文件 5
1.5 變量的生命周期 6
1.6 作用域 7
第2章 變量與簡單類型 9
2.1 運行hello_world.go 9
2.2 變量 10
2.3 字符串 11
2.3.1 修改字符串的大小寫 11
2.3.2 合并(拼接)字符串 12
2.3.3 使用制表符或換行符添加空白 13
2.3.4 刪除空格 13
2.4 數字 14
2.4.1 整數 15
2.4.2 浮點數 15
2.4.3 使用strconv.Itoa方法避免類型錯誤 15
2.5 注釋 16
2.6 小結 17
第3章 數組 18
3.1 數組簡介 18
3.2 初始化數組元素的3種方式 19
3.3 訪問數組元素 20
3.4 索引是從0而不是從1開始的 21
3.5 使用數組中的各個值 21
3.6 遍歷數組 22
3.7 循環 23
3.8 修改數組中的元素 24
3.9 使用列表時應避免索引錯誤 24
3.10 小結 25
第4章 切片 26
4.1 切片簡介 26
4.1.1 創建切片 27
4.1.2 訪問切片元素 30
4.1.3 遍歷切片元素 31
4.1.4 復制切片 32
4.2 修改、添加和刪除元素 33
4.2.1 修改切片元素 34
4.2.2 在切片中添加元素 34
4.2.3 從切片中刪除元素 36
4.3 使用切片時應避免索引錯誤 37
4.4 遍歷切片時容易犯的錯誤 38
4.5 小結 39
第5章 流程控制 41
5.1 if語句 41
5.2 條件測試 42
5.2.1 檢查是否相等 42
5.2.2 比較數字 43
5.2.3 檢查多個條件 43
5.2.4 檢查在切片中是否包含特定值 44
5.2.5 布爾表達式 44
5.2.6 if-else 結構 45
5.3 switch語句 46
5.4 循環語句 49
5.5 小結 51
第6章 字典 52
6.1 字典簡介 52
6.2 創建字典 54
6.3 使用字典 55
6.3.1 訪問字典中的值 56
6.3.2 添加鍵值對 57
6.3.3 修改字典中的值 57
6.3.4 刪除鍵值對 58
6.4 遍歷字典 59
6.4.1 在字典中嵌入切片 59
6.4.2 在字典中嵌入字典 61
6.5 避免遍歷 61
6.6 小結 63
第7章 函數 64
7.1 定義函數 64
7.1.1 向函數傳遞信息 67
7.1.2 實際參數和形式參數 67
7.1.3 位置實參 68
7.1.4 傳遞數組 69
7.1.5 傳遞切片 70
7.1.6 避免實參錯誤 71
7.2 返回值 71
7.2.1 返回簡單值 71
7.2.2 返回字典 72
7.3 返回多個值 72
7.4 函數變量 75
7.5 匿名函數 78
7.6 閉包 79
7.7 變長函數 81
7.8 延遲函數調用 82
7.9 panic 83
7.10 recover 84
7.11 小結 85
第8章 結構體與方法 86
8.1 結構體概述 86
8.2 結構體的使用 88
8.3 匿名成員與結構體嵌套 89
8.4 結構體與JSON 91
8.5 方法 93
8.6 指針接收者方法 94
8.7 實參接收者type與*type 96
8.8 值方法與指針方法的區別 98
8.9 方法與表達式 100
8.10 小結 100


第9章 接口 102
9.1 接口的定義及使用 102
9.2 非侵入式接口 104
9.3 使用指針接收者實現接口 106
9.4 接口的嵌套 107
9.5 接口值 110
9.6 error接口 112
9.7 類型斷言 113
9.8 類型分支 114
9.9 動態類型、動態值和靜態類型 114
9.10 小結 118
第二部分 高效并發
第10章 協程與通道 119
10.1 并發 119
10.2 協程并發模型 121
10.3 goroutine(協程)的使用 124
10.4 channel(通道) 125
10.5 channel進階 126
10.6 單向channel 129
10.7 無緩沖channel 130
10.8 緩沖channel 131
10.9 select 132
10.10 關閉channel 135
10.11 小結 136
第11章 并發資源 137
11.1 競態 137
11.2 sync.Mutex與sync.RWMutex 139
11.3 條件變量 146
11.4 原子操作 149
11.5 WaitGroup類型與Once類型 152
11.6 context.Context類型 155
11.7 小結 159
第12章 包管理 161
12.1 go mod 161
12.2 go mod中的命令 162
12.3 小結 164
第13章 測試 165
第14章 反射 169
14.1 反射簡介 169
14.2 動態調用無參方法 170
14.3 動態調用有參方法 170
14.4 動態struct tag解析 171
14.5 對類型進行轉換和賦值 172
14.6 使用Kind與switch處理不同分支 174
14.7 判斷是否實現了某接口 175
第三部分 項目實戰
第15章 Gin框架 177
15.1 HTTP簡介 177
15.2 Gin框架簡介 183
15.3 RESTful 184
15.4 路由參數 185
15.5 URL查詢參數的獲取 186
15.6 接收數組和map 187
15.7 獲取Form表單參數 188
15.8 JSON渲染輸出 190
第16章 生活點評項目實戰 193
16.1 總體需求分析 193
16.2 開發精要 196
16.3 接口設計 197
16.4 餐廳詳情模塊 198
16.5 數據庫訪問層 200
16.6 服務層 203
16.7 路由和方法 204
16.8 團購下單模塊 204
16.9 數據庫訪問層 205
16.10 團購下單——服務層 205
16.11 團購下單——路由和方法 206
16.12 小結 208
第17章 賬戶管理系統實戰 209
17.1 啟動一個簡單的RESTful服務器 209
17.2 Viper 211
17.3 日志追蹤 217
17.4 定義錯誤碼 220
17.5 創建賬戶 224
17.6 刪除賬戶 228
17.7 更新賬戶 229
17.8 賬戶列表 231
17.9 根據賬戶名稱查詢用戶信息 234
17.10 OAuth 2.0簡介 236
17.11 OAuth 2.0 的四種授權模式 237
本書是一本Go語言入門書,全書共分為三部分。第一部分講解Go語言基礎知識,包括變量與簡單類型、數組、切片、流程控制、字典、函數、結構體與方法、接口等,可以幫助讀者快速掌握Go語言的基本程序結構。第二部分講解Go語言高效并發相關知識,包括協程與通道、并發資源、包管理和測試等,讓讀者對Go語言層面的并發支持有更深入的理解。第三部分講解Go語言項目實戰,包括Gin框架、生活點評項目實戰、賬戶管理系統實戰,以及OAuth 2.0的授權協議等。通過實戰,把前面講解的知識點運用起來,幫助讀者快速上手,積累項目經驗。
為什么要學習Go語言?
Go語言具有天生支持高并發、語法簡潔等特點,因此在云計算、微服務、大數據、區塊鏈和物聯網等領域發展得如火如荼。開發者掌握Go語言,不僅可以作為進入“大廠”的敲門磚,還可以提高個人職場競爭力。
本書內容
本書是一本Go語言入門書,全書共分為三部分。
第一部分講解Go語言基礎知識,包括變量與簡單類型、數組、切片、流程控制、字典、函數、結構體與方法、接口等,內容相對簡潔,可以幫助讀者快速掌握Go語言的基本程序結構。
第二部分講解Go語言高效并發相關知識,包括協程與通道、并發資源、包管理和測試等,讓讀者對Go語言層面的并發支持有更深入的理解。
第三部分講解Go語言項目實戰,包括Gin框架、生活點評項目實戰、賬戶管理系統實戰,以及OAuth 2.0的授權協議等。實戰則把前面講解的知識點運用起來,幫助讀者快速上手,積累項目經驗。
本書特色
系統設計:從基礎知識、底層原理到有趣的案例,幫助讀者理解晦澀的概念,讓枯燥的編程變得有趣。
案例實操:本書設計了很多的代碼示例,從讀者的視角,演示了一些容易出bug的場景,以免讀者“掉到坑里”。此外,本書還引入了很多生活化的場景,比如用美食、做飯、搶位置等例子比喻協程和通道的高并發原理,讓學習不再枯燥。
貼近實際:本書所用的例子均源于眾多學習者的反饋,其中,仿大眾點評小程序的后端完全用Go語言開發,前端用React開發,引導讀者一起從后端到前端、從0到1完整開發一個產品。
除此之外,在和學習者的交流過程中,筆者還總結了一些常見問題的共性及解決方法,并有針對性地融入案例中。
本書適合的讀者
1. 無編程經驗的初學者。
2. 有其他語言基礎,想學習Go語言的開發人員。
勘誤與反饋
在閱讀本書過程中,如遇到任何問題,都可以通過下面的公眾號與筆者交流反饋。

因時間及水平有限,書中難免有錯漏之處,敬請讀者不吝賜教,筆者將感激不盡。
pagetop