Go語言從入門到精通(2024年清華大學出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《Go語言從入門到精通》是2024年清華大學出版社出版的圖書,作者是明日科技。

基本介紹

  • 中文名:Go語言從入門到精通
  • 作者:明日科技
  • 出版時間:2024年3月
  • 出版社:清華大學出版社
  • ISBN:9787302651659 
  • 定價:89.80 元
內容簡介,圖書目錄,

內容簡介

《Go語言從入門到精通》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了Go語言的基礎、進階提高和高級套用知識。全書分為4篇,共19章,包括初識Go語言、Go語言基礎、Go語言基本數據類型與運算符、流程控制、複合數據類型、函式、指針、結構體、接口、錯誤處理、並發編程、包管理、標準庫、編譯與測試工具、反射、MySQL資料庫編程、檔案處理、網路編程和Go語言在爬蟲中的套用等內容。所有知識都結合具體實例進行講解,涉及的程式代碼給出了詳細的注釋。全書總計98個套用實例,學練結合,讀者可以輕鬆領會Go語言的開發精髓,快速提升開發技能。

圖書目錄

第1篇 基礎知識
第1章 初識Go語言 2
視頻講解:24分鐘
1.1 Go語言簡介 2
1.1.1 為什麼要學習Go語言 2
1.1.2 Go語言的特性 3
1.1.3 Go語言與並發 3
1.1.4 Go語言的套用 4
1.2 Go語言開發環境 4
1.2.1 下載Go語言開發包 4
1.2.2 安裝Go語言開發包 6
1.2.3 配置Go語言環境變數 8
1.2.4 測試Go語言開發包是否正常運行 11
1.3 Go語言開發工具 11
1.3.1 下載VS Code 12
1.3.2 安裝VS Code 13
1.3.3 漢化VS Code 15
1.3.4 在VS Code中安裝Go語言外掛程式 16
1.4 第一個Go語言程式 18
1.4.1 創建Go項目和Go檔案 18
1.4.2 編寫第一個Go語言程式 24
1.4.3 運行Go語言程式 24
1.5 要點回顧 27
第2章 Go語言基礎 28
視頻講解:17分鐘
2.1 關鍵字和標識符 28
2.1.1 關鍵字 28
2.1.2 標識符命名規則 29
2.1.3 空白標識符 30
2.1.4 導出標識符 30
2.1.5 預定義標識符 32
2.2 程式的基本結構 32
2.3 作用域 33
2.4 注釋 34
2.5 要點回顧 34
第3章 Go語言基本數據類型與運算符 35
視頻講解:36分鐘
3.1 Go語言變數 35
3.1.1 變數的聲明 35
3.1.2 變數的初始化 37
3.1.3 匿名變數 39
3.1.4 變數的作用域 39
3.2 基礎類型 41
3.2.1 數值類型 41
3.2.2 布爾類型 42
3.2.3 字元串類型及其操作 43
3.3 類型轉換 48
3.4 自定義類型 50
3.5 有類型的常量 51
3.6 枚舉 52
3.7 運算符 53
3.7.1 算術運算符 53
3.7.2 關係運算符 53
3.7.3 邏輯運算符 54
3.7.4 位運算符 54
3.7.5 複合賦值運算符 55
3.7.6 運算符優先權 57
3.8 要點回顧 58
第4章 流程控制 59
視頻講解:28分鐘
4.1 條件判斷語句 59
4.1.1 if語句 59
4.1.2 switch語句 64
4.2 循環語句 68
4.2.1 for循環 68
4.2.2 for-range循環 71
4.2.3 循環嵌套 73
4.3 循環控制語句 74
4.3.1 break語句 74
4.3.2 continue語句 75
4.3.3 goto語句 77
4.4 要點回顧 77
第5章 複合數據類型 78
視頻講解:38分鐘
5.1 數組 78
5.1.1 數組的聲明 78
5.1.2 數組的初始化 79
5.1.3 數組元素的訪問 81
5.1.4 二維數組 82
5.2 切片 84
5.2.1 定義切片 85
5.2.2 len()函式和cap()函式 86
5.2.3 append()函式 87
5.2.4 copy()函式 88
5.2.5 空切片 89
5.2.6 切片的訪問 89
5.2.7 刪除切片 90
5.3 映射 91
5.3.1 定義映射 91
5.3.2 遍歷映射 93
5.3.3 獲取映射元素 94
5.3.4 刪除映射元素 94
5.4 要點回顧 95
第2篇 進階提高
第6章 函式 98
視頻講解:46分鐘
6.1 函式定義和調用 98
6.1.1 函式的定義 98
6.1.2 函式的調用 99
6.2 函式的參數 100
6.2.1 形式參數和實際參數 100
6.2.2 值傳遞和引用傳遞 102
6.2.3 可變參數 103
6.2.4 傳遞數組 104
6.2.5 傳遞切片 105
6.3 函式的返回值 105
6.3.1 返回單個值 105
6.3.2 返回多個值 107
6.4 函式的嵌套調用 109
6.5 函式變數 110
6.6 匿名函式 111
6.6.1 在定義時直接調用 112
6.6.2 將匿名函式賦值給變數 112
6.6.3 作為回調函式 113
6.7 閉包 114
6.8 遞歸函式 115
6.9 函式的延遲調用 117
6.9.1 多個defer語句的執行順序 117
6.9.2 延遲函式的參數 117
6.9.3 匿名函式的延遲調用 118
6.10 要點回顧 120
第7章 指針 121
視頻講解:20分鐘
7.1 關於指針 121
7.1.1 什麼是指針 121
7.1.2 “取地址”操作 122
7.2 指針的使用方法 123
7.2.1 聲明指針變數 123
7.2.2 初始化指針變數 123
7.2.3 空指針 125
7.2.4 獲取指針指向的變數的值 126
7.2.5 修改指針指向的變數的值 127
7.3 指針的其他套用 129
7.3.1 指針數組 129
7.3.2 指向指針的指針變數 130
7.4 要點回顧 131
第8章 結構體 132
視頻講解:26分鐘
8.1 結構體基本用法 132
8.1.1 定義結構體 132
8.1.2 實例化結構體 133
8.2 匿名成員和匿名結構體 135
8.2.1 匿名成員 135
8.2.2 匿名結構體 136
8.3 結構體的嵌套 137
8.4 構造函式 141
8.4.1 不帶參數的構造函式 141
8.4.2 帶參數的構造函式 142
8.4.3 為嵌套的結構體使用構造函式 142
8.5 方法 143
8.5.1 值接收者方法 143
8.5.2 指針接收者方法 144
8.6 要點回顧 147
第9章 接口 148
視頻講解:27分鐘
9.1 接口的聲明 148
9.2 接口的實現 149
9.3 類型斷言 150
9.4 Interface接口 152
9.5 空接口類型 155
9.5.1 使用空接口保存值 155
9.5.2 從空接口中獲取值 157
9.5.3 比較空接口保存的值 158
9.6 類型分支 159
9.7 接口的嵌套 160
9.8 要點回顧 162
第10章 錯誤處理 163
視頻講解:22分鐘
10.1 error接口類型 163
10.2 自定義錯誤信息 164
10.2.1 使用errors包中的New函式 164
10.2.2 使用error接口自定義Error()函式 165
10.2.3 使用fmt包的Errorf()函式 166
10.3 Error嵌套 168
10.3.1 基本用法 168
10.3.2 Unwrap()函式 168
10.3.3 Is()函式 169
10.3.4 As()函式 169
10.4 宕機和宕機恢復 170
10.4.1 宕機(panic) 170
10.4.2 宕機恢復(recover) 172
10.5 要點回顧 174
第11章 並發編程 175
視頻講解:31分鐘
11.1 並發概述 175
11.2 goroutine 176
11.2.1 為普通函式創建goroutine 176
11.2.2 為匿名函式創建goroutine 179
11.3 channel(通道) 180
11.3.1 通道的聲明和創建 181
11.3.2 通道的基本操作 182
11.3.3 單向通道 184
11.3.4 無緩衝的通道 185
11.3.5 有緩衝的通道 186
11.4 使用select處理通道 187
11.5 競爭狀態 188
11.6 死鎖、活鎖和飢餓 189
11.6.1 死鎖 189
11.6.2 活鎖 190
11.6.3 飢餓 190
11.7 加鎖機制 190
11.8 要點回顧 193
第3篇 高級套用
第12章 包管理 196
視頻講解:16分鐘
12.1 包的基本概念 196
12.1.1 包的導入 197
12.1.2 包的導入路徑 197
12.2 GOPATH 198
12.3 常用內置包 199
12.4 包的基本使用 201
12.4.1 package(創建包) 201
12.4.2 在代碼中使用其他代碼 202
12.5 自定義包 203
12.6 包管理工具 204
12.7 要點回顧 205
第13章 標準庫 206
視頻講解:26分鐘
13.1 IO操作 206
13.1.1 io庫 206
13.1.2 os庫 207
13.1.3 ioutil庫 208
13.1.4 bufio庫 210
13.1.5 errors庫 211
13.2 記錄日誌 212
13.2.1 log庫中的函式 212
13.2.2 標準log配置 213
13.2.3 日誌前綴配置 214
13.2.4 把日誌輸出到檔案中 215
13.3 解析JSON 215
13.3.1 解碼JSON 215
13.3.2 編碼JSON 216
13.4 時間和日期 217
13.4.1 時間的獲取 217
13.4.2 操作時間的函式 219
13.4.3 時間格式化 220
13.4.4 解析格式化的時間字元串 220
13.5 要點回顧 221
第14章 編譯與測試工具 222
視頻講解:18分鐘
14.1 go build命令 222
14.2 go clean命令 224
14.3 go run命令 224
14.4 go fmt命令 225
14.5 go install命令 226
14.6 go get命令 227
14.7 go generate命令 227
14.8 go test命令 228
14.8.1 單元測試 228
14.8.2 基準測試 229
14.9 go pprof命令 230
14.10 要點回顧 230
第15章 反射 231
視頻講解:25分鐘
15.1 反射概述 231
15.1.1 reflect.TypeOf()函式 231
15.1.2 reflect.ValueOf()函式 232
15.2 反射三定律 233
15.2.1 接口變數轉反射對象 233
15.2.2 反射對象轉接口變數 234
15.2.3 修改反射對象的值 235
15.3 反射的類型與種類 237
15.4 Go語言結構體標籤 239
15.4.1 結構體標籤的使用 239
15.4.2 結構體標籤的獲取 240
15.5 通過類型信息創建實例 241
15.6 通過反射調用函式 242
15.7 要點回顧 243
第16章 MySQL資料庫編程 244
視頻講解:18分鐘
16.1 下載、安裝MySQL 244
16.1.1 下載MySQL 244
16.1.2 安裝MySQL 246
16.1.3 啟動MySQL 253
16.2 下載go-mysql驅動程式 253
16.3 操作MySQL資料庫 255
16.3.1 連線MySQL資料庫 256
16.3.2 新建數據表 257
16.3.3 插入數據 258
16.3.4 查詢數據 259
16.3.5 修改數據 261
16.3.6 刪除數據 262
16.4 要點回顧 263
第17章 檔案處理 264
視頻講解:23分鐘
17.1 文本檔案的寫入、追加、讀取操作 264
17.2 二進制檔案的寫入、讀取操作 267
17.2.1 gob格式 267
17.2.2 自定義二進制格式 269
17.3 JSON檔案的寫入、讀取操作 271
17.4 XML檔案的寫入、讀取操作 273
17.5 zip檔案的寫入、讀取操作 275
17.6 檔案鎖操作 277
17.7 要點回顧 279
第18章 網路編程 280
視頻講解:15分鐘
18.1 Socket編程 280
18.1.1 什麼是Socket 281
18.1.2 Dial()函式 281
18.2 TCP Socket 282
18.2.1 建立TCP連線 283
18.2.2 實現互動通信 285
18.3 UDP Socket 287
18.3.1 UDP伺服器端 287
18.3.2 UDP客戶端 288
18.4 HTTP編程 289
18.4.1 HTTP客戶端 289
18.4.2 HTTP服務端 290
18.5 要點回顧 291
第4篇 項目實戰
第19章 Go語言在爬蟲中的套用 294
視頻講解:21分鐘
19.1 需求分析 294
19.2 程式設計 294
19.2.1 程式目標 294
19.2.2 功能結構 295
19.2.3 業務流程 295
19.3 技術準備—go-colly框架 296
19.3.1 go-colly框架的特性 296
19.3.2 go-colly框架的下載 296
19.3.3 go-colly框架的實現過程 297
19.3.4 go-colly框架的套用實例 298
19.4 抓取指定連線的網頁內容 300
19.5 將抓取的網頁內容存儲在檔案中 301
19.6 把爬蟲程式設定成Web服務 303
19.7 要點回顧 306

相關詞條

熱門詞條

聯絡我們