買這商品的人也買了...
- 
                
                   鳳凰專案|看 IT部門如何讓公司從谷底翻身的傳奇故事 鳳凰專案|看 IT部門如何讓公司從谷底翻身的傳奇故事$480$379
- 
                
                   為你自己學 Git 為你自己學 Git$500$425
- 
                
                   $505Python Django Web 典型模塊開發實戰 $505Python Django Web 典型模塊開發實戰
- 
                
                   The Pragmatic Programmer 20週年紀念版 (The Pragmatic Programmer, 20th Anniversary Edition) The Pragmatic Programmer 20週年紀念版 (The Pragmatic Programmer, 20th Anniversary Edition)$680$537
- 
                
                   Django 實戰 Python Web 典型模塊與項目開發 Django 實戰 Python Web 典型模塊與項目開發$648$616
- 
                
                   中臺架構與實現:基於 DDD 和微服務 中臺架構與實現:基於 DDD 和微服務$534$507
- 
                
                   圖解 TCP/IP 網路通訊協定 (涵蓋IPv6)(2021修訂版) 圖解 TCP/IP 網路通訊協定 (涵蓋IPv6)(2021修訂版)$620$490
- 
                
                   Clean Code 學派的風格實踐:重構遺留 Codebase,突破 C# 效能瓶頸 (Clean Code in C#: Refactor your legacy C# code base and improve application performance by applying best practices) Clean Code 學派的風格實踐:重構遺留 Codebase,突破 C# 效能瓶頸 (Clean Code in C#: Refactor your legacy C# code base and improve application performance by applying best practices)$690$538
- 
                
                   CQRS 命令查詢職責分離模式 (Command Query Responsibility Segregation) CQRS 命令查詢職責分離模式 (Command Query Responsibility Segregation)$500$390
- 
                
                   刷題實戰筆記:演算法工程師求職加分的祕笈 刷題實戰筆記:演算法工程師求職加分的祕笈$720$562
- 
                
                   內行人才知道的系統設計面試指南 內行人才知道的系統設計面試指南$580$458
- 
                
                   Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture) Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624
- 
                
                   軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures) 軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures)$780$616
- 
                
                   區塊鏈生存指南:帶你用 Python 寫出區塊鏈!【第二版】(iT邦幫忙鐵人賽系列書) 區塊鏈生存指南:帶你用 Python 寫出區塊鏈!【第二版】(iT邦幫忙鐵人賽系列書)$600$468
- 
                
                   「新」SEO 超入門!打敗 AI、征服搜尋引擎,洞悉使用者需求的必備指南 「新」SEO 超入門!打敗 AI、征服搜尋引擎,洞悉使用者需求的必備指南$630$536
- 
                
                   Next.js 實戰 Next.js 實戰$594$564
- 
                
                   Jira 全方位應用:深入解析 Kanban × 超強外掛,掌握敏捷開發的核心工具 (iThome鐵人賽系列書)【軟精裝】 Jira 全方位應用:深入解析 Kanban × 超強外掛,掌握敏捷開發的核心工具 (iThome鐵人賽系列書)【軟精裝】$680$530
- 
                
                   Django4 實例精解 Django4 實例精解$1,014$963
- 
                
                   可觀測性入門指南:Logs、Metrics、Traces 三大實戰應用,用 24個 Lab 鞏固你的 SRE 技能樹 (iThome鐵人賽系列書) 可觀測性入門指南:Logs、Metrics、Traces 三大實戰應用,用 24個 Lab 鞏固你的 SRE 技能樹 (iThome鐵人賽系列書)$680$530
- 
                
                   Modern Network Observability: A hands-on approach using open source tools such as Telegraf, Prometheus, and Grafana (Paperback) Modern Network Observability: A hands-on approach using open source tools such as Telegraf, Prometheus, and Grafana (Paperback)$1,880$1,786
- 
                
                   軟體工程師的英語使用守則:English for Developers 軟體工程師的英語使用守則:English for Developers$420$357
- 
                
                   軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems) 軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems)$650$507
- 
                
                   深入淺出軟體架構 (Head First Software Architecture) 深入淺出軟體架構 (Head First Software Architecture)$980$774
- 
                
                   Figma UI/UX 設計技巧實戰:打造擬真介面原型, 2/e Figma UI/UX 設計技巧實戰:打造擬真介面原型, 2/e$680$530
- 
                
                   軟體品質全面思維:從產品設計、開發到交付,跨越 DevOps、安全與 AI 的實踐指南 軟體品質全面思維:從產品設計、開發到交付,跨越 DevOps、安全與 AI 的實踐指南$650$507
商品描述
本書涵蓋從Go語言入門到Go Web開發高級應用所需的核心知識、方法和技巧,共分4篇。第1篇“Go語言入門”,介紹Go語言的基礎語法,即使是沒有Go語言基礎的讀者也可以學習本書。第2篇“Go Web基礎入門”,介紹能使讀者快速掌握用Go語言進行Web開發的基礎知識。第3篇“Go Web高級應用”,教會讀者用Go語言快速開發各種Web應用。第4篇“Go Web項目實戰”,通過實例介紹了開發一個B2C電子商務系統的全過程,並用Docker部署Go Web應用。本書可作為Go語言初學者、Web開發工程師的自學用書,也可作為培訓機構和相關院校的教材。
作者簡介
廖顯東,高級軟件架構師,全棧開發者,技術極客,Gopher,開源愛好者。 畢業於河海大學,先後就職於蘇寧易購等多家大型公司。具有多年軟件開發與團隊管理經驗,精通Java、JavaScript、C、C++、C#、Python、PHP等開發語言。對Go、Rust等開發語言有深入實踐和研究。對大型電子商務系統開發、高並發架構、分布式架構、微服務、大數據、人工智能算法等領域有深入實踐和研究。
目錄大綱
●第1篇 Go語言入門
第1章 Go基礎入門 2
1.1 安裝Go 2
1.2 【實戰】開啟Go的第一個程序 4
1.2.1 聲明包 5
1.2.2 導入包 5
1.2.3 main()函數 6
1.3 Go基礎語法與使用 7
1.3.1 基礎語法 7
1.3.2 變量 10
1.3.3 常量 13
1.3.4 運算符 15
1.3.5 流程控制語句 16
1.4 Go數據類型 26
1.4.1 布爾類型 27
1.4.2 數字類型 29
1.4.3 字符串類型 29
1.4.4 指針類型 34
1.4.5 覆合類型 35
1.5 函數 44
1.5.1 聲明函數 44
1.5.2 函數參數 45
1.5.3 匿名函數 47
1.5.4 疊代器函數 49
1.5.5 defer延遲語句 50
1.6 Go面向對象編程 52
1.6.1 封裝 52
1.6.2 繼承 54
1.6.3 多態 56
1.7 接口 57
1.7.1 接口的定義 57
1.7.2 接口的賦值 58
1.7.3 接口的查詢 61
1.7.4 接口的組合 62
1.8 反射 63
1.8.1 反射的定義 63
1.8.2 反射的三大法則 64
1.9 泛型 65
1.10 goroutine簡介 68
1.11 單元測試 69
1.12 模塊系統 72
1.13 Go編譯與工具 75
1.13.1 編譯(go build) 75
1.13.2 編譯後運行(go run) 81
1.13.3 編譯並安裝(go install) 81
1.13.4 獲取代碼(go get) 82
//
第2篇 Go Web基礎入門
//
第2章 Go Web開發基礎 86
2.1 【實戰】開啟Go Web的第1個程序 86
2.2 Web應用程序運行原理簡介 87
2.2.1 Web基本原理 87
2.2.2 Web應用程序的組成 88
2.3 【實戰】初探Go語言的net/http包 90
2.3.1 創建簡單的服務器端 91
2.3.2 創建簡單的客戶端 92
2.4 使用Go語言的html/template包 94
2.4.1 瞭解模板的原理 94
2.4.2 使用html/template包 95
第3章 接收和處理Go Web請求 101
3.1 【實戰】創建一個簡單的Go Web服務器 101
3.2 接收請求 103
3.2.1 ServeMux和DefaultServeMux 103
3.2.2 處理器和處理器函數 111
3.2.3 串聯多個處理器和處理器函數 114
3.2.4 生成HTML表單 115
3.3 處理請求 117
3.3.1 瞭解Request結構體 117
3.3.2 請求URL 118
3.3.3 請求頭 119
3.3.4 請求體 120
3.3.5 處理HTML表單 121
3.3.6 瞭解ResponseWriter的原理 124
3.4 瞭解session和cookie 129
3.4.1 session和cookie簡介 129
3.4.2 Go與cookie 132
3.4.3 Go使用session 134
//
第4章 用Go訪問數據庫 139
4.1 MySQL的安裝及使用 139
4.1.1 MySQL簡介 139
4.1.2 MySQL的安裝 139
4.1.3 用Go訪問MySQL 140
4.2 Redis的安裝及使用 146
4.2.1 Redis的安裝 146
4.2.2 Go訪問Redis 147
4.3 MongoDB的安裝及使用 151
4.3.1 MongoDB的安裝 151
4.3.2 Go訪問MongoDB 152
4.4 Go的常見ORM庫 159
4.4.1 什麼是ORM 159
4.4.2 Gorm(性能極好的ORM庫)的安裝及使用 160
4.4.3 Beego ORM――Go語言的ORM框架 164
//
第3篇 Go Web高級應用
//
第5章 Go高級網絡編程 170
5.1 Go Socket編程 170
5.1.1 什麼是Socket 170
5.1.2 客戶端net.Dial()函數的使用 173
5.1.3 客戶端net.DialTCP()函數的使用 174
5.1.4 UDP Socket的使用 177
5.1.5 【實戰】用Go Socket實現一個簡易的聊天程序 180
5.2 Go RPC編程 184
5.2.1 什麼是RPC 184
5.2.2 Go RPC的應用 185
5.3 微服務 191
5.3.1 什麼是微服務 191
5.3.2 【實戰】用gRPC框架構建一個簡易的微服務 194
//
第6章 Go文件處理 200
6.1 操作目錄與文件 200
6.1.1 操作目錄 200
6.1.2 創建文件 201
6.1.3 打開與關閉文件 201
6.1.4 讀寫文件 202
6.1.5 移動與重命名文件 203
6.1.6 刪除文件 203
6.1.7 覆制文件 204
6.1.8 修改文件權限 204
6.1.9 文件鏈接 206
6.1.10 嵌入靜態文件 206
6.2 處理XML文件 208
6.2.1 解析XML文件 208
6.2.2 生成XML文件 210
6.3 處理JSON文件 212
6.3.1 讀取JSON文件 212
6.3.2 生成JSON文件 214
6.4 處理正則表達式 215
6.4.1 獲取正則對象 215
6.4.2 匹配檢測 216
6.4.3 查找字符和字符串 216
6.4.4 查找匹配位置 217
6.4.5 替換字符 218
6.4.6 分割字符串 219
6.5 【實戰】從數據庫中導出一個CSV文件 220
//
第7章 Go並發編程 223
7.1 並發與並行 223
7.2 進程、線程和協程 225
7.3 Go並發模型簡介 227
7.4 用goroutine和通道實現並發 228
7.4.1 goroutine簡介 228
7.4.2 通道 229
7.5 用sync包實現並發 233
7.5.1 競態 233
7.5.2 互斥鎖 234
7.5.3 讀寫互斥鎖 235
7.5.4 sync.Once結構體 236
7.5.5 同步等待組sync.WaitGroup 238
7.5.6 競態檢測器 240
7.5.7 sync/atomic 包擴展 241
7.6 用Go開發並發的Web應用 243
7.6.1 【實戰】開發一個自增整數生成器 243
7.6.2 【實戰】開發一個並發的消息發送器 243
7.6.3 【實戰】開發一個多路合並計算器 244
7.6.4 【實戰】用select關鍵字創建多通道監聽器 245
7.6.5 【實戰】用無緩沖通道阻塞主線 247
7.6.6 【實戰】用篩法求素數 248
7.6.7 【實戰】創建隨機數生成器 249
7.6.8 【實戰】創建一個定時器 250
7.6.9 【實戰】開發一個並發的Web爬蟲 251
//
第8章 Go RESTful API開發 255
8.1 什麼是RESTful API 255
8.2 Go流行Web框架的使用 257
8.2.1 為什麼要用框架 257
8.2.2 Gin框架的使用 257
8.2.3 Beego框架的使用 264
8.3 【實戰】用Gin框架開發RESTful API 276
8.3.1 路由設計 276
8.3.2 數據表設計 276
8.3.3 模型代碼編寫 276
8.3.4 邏輯代碼編寫 277
8.4 【實戰】用Go開發OAuth 2.0接口 279
8.4.1 OAuth 2.0簡介 279
8.4.2 用Go開發OAuth 2.0接口的示例 281
//
第4篇 Go Web項目實戰
//
第9章 【實戰】開發一個B2C電子商務系統 286
9.1 需求分析 286
9.2 系統設計 287
9.2.1 確定系統架構 287
9.2.2 制定系統流程 288
9.3 設計軟件架構 289
9.4 設計數據庫與數據表 290
9.5 搭建系統基礎架構 291
9.5.1 創建公共文件 291
9.5.2 創建模型 295
9.6 前臺模塊開發 299
9.6.1 首頁模塊開發 299
9.6.2 註冊登錄模塊開發 306
9.6.3 用戶中心模塊開發 314
9.6.4 購物車模塊開發 317
9.6.5 收銀臺模塊開發 320
9.6.6 支付模塊開發 322
9.7 後臺模塊開發 325
9.7.1 登錄模塊開發 326
9.7.2 商品模塊開發 326
//
第10章 用Docker部署Go Web應用 329
10.1 瞭解Docker組件及原理 329
10.1.1 什麼是Docker 329
10.1.2 為什麼用Docker 330
10.1.3 Docker引擎 331
10.1.4 Docker構架 332
10.1.5 Docker核心概念 332
10.2 安裝Docker 333
10.3 【實戰】用Docker運行一個Go Web應用 335
10.3.1 創建Go Web應用 335
10.3.2 用Docker運行Go Web應用 335
10.4 【實戰】通過Docker-Compose部署容器集群 336
10.4.1 Docker-Compose簡介 337
10.4.2 通過Docker-Compose實戰部署 337
10.5 【實戰】將Docker容器推送至服務器 339
10.5.1 在Docker Hub官網註冊賬號 339
10.5.2 同步本地和Docker Hub的標簽(tag) 339
10.5.3 推送鏡像到Docker Hub 340
10.5.4 訪問Docker Hub鏡像 340
10.5.5 使用發布的Docker Hub鏡像 341

 
     
     
     
     
     
     
     
     
     
     
    