作 者:廖顯東 著
定 價:128
出 版 社:電子工業出版社
出版日期:2021年04月01日
頁 數:536
裝 幀:平裝
ISBN:9787121408007
"《Go Web編程實戰派——從入門到精通》聚焦Go Web開發領域,對Go Web知識進行全面深入地講解。本書有如下特色:(1)一線技術,突出實戰。本書中穿插了大量的實戰內容,且所有代碼采用目前的Go近期新版本(1.15.3)編寫。(2)精雕細琢,閱讀性強。全書的語言經過多次打磨,力求準確。同時注重閱讀體驗,讓沒有任何基礎的讀者也可以很輕松地讀懂本書。(3)零基礎入門,循序漸進,讓讀者快速從菜鳥向實戰高手邁進。本書以Go入門級程序員為主要對像,初級、中級、高級程序員都可等
●第1篇 Go語言入門第1章 Go基礎入門21.1 安裝Go21.2 【實戰】開啟Go的第一個程序51.3 Go基礎語法與使用81.4 Go數據類型291.5 函數521.6 Go面向對像編程631.7 接口681.8 反射751.9 goroutine簡介801.10測試811.11 Go編譯與工具831.12 小結91 第2篇 Go Web基礎入門第2章 Go Web開發基礎942.1 【實戰】開啟Go Web的第1個程序942.2 Web程序運行原理簡介952.2.1 Web基本原理952.2.2 HTTP簡介972.2.3 HTTP請求972.2.4 HTTP響應1002.2.5 URI與URL1042.2.6 HTTPS簡介1062.2.7 HTTP 2簡介1062.2.8 Web應用程序的組成1082.3 【實戰】初探Go語言的net/http包1102.3.1 創建簡單的服務器端1102.3.2 創建簡單的客戶端1142.4 使用Go語言的html/template包1182.4.1 了解模板原理1182.4.2 使用html/template包1202.5 小結131第3章 接收和處理Go Web請求1323.1 【實戰】創建一個簡單的Go Web服務器1323.2 接收請求1343.2.1 Serve x和DefaultServe x1343.2.2 處理器和處理器函數1463.2.3 串聯多個處理器和處理器函數1503.2.4 構建模型1513.2.5 生成HTML表單1533.3 處理請求1553.3.1 了解Request結構體1553.3.2 請求URL1583.3.3 請求頭1593.3.4 請求體1603.3.5 處理HTML表單1613.3.6 了解ResponseWriter原理1643.4 了解session和cookie1713.4.1 session和cookie的簡介1713.4.2 Go與cookie1733.4.3 Go使用session1763.5 小結181第4章 用Go訪問數據庫1824.1 MySQL的安裝及使用1824.1.1 MySQL簡介1824.1.2 MySQL的安裝1834.1.3 MySQL基礎入門1834.1.4 用Go訪問MySQL1934.2 Redis的安裝及使用2034.2.1 Redis的安裝2034.2.2 Redis基礎入門2034.2.3 Go訪問Redis2084.3 MongoDB的安裝及使用2164.3.1 MongoDB的安裝2164.3.2 MongoDB基礎入門2174.3.3 Go訪問MongoDB2234.4 Go的常見ORM庫2374.4.1 什麼是ORM2374.4.2 Gorm(性能極好的ORM庫)的安裝及使用2384.4.3 Beego ORM――Go語言的ORM框架2424.5 小結247 第3篇 Go Web高級應用第5章 Go高級網絡編程2505.1 Go Socket編程2505.1.1 什麼是Socket2505.1.2 客戶端Dial()函數的使用2545.1.3 客戶端DialTCP()函數的使用2565.1.4 UDP Socket的使用2615.1.5 【實戰】用Go Socket實現一個簡易的聊天程序2655.2 Go RPC編程2705.2.1 什麼是RPC2705.2.2 Go RPC的應用2715.3 微服務2775.3.1 什麼是微服務2775.3.2 【實戰】用gRPC框架構建一個簡易的微服務2815.4 小結286第6章 Go文件處理2876.1 操作目錄與文件2876.1.1 操作目錄2876.1.2 創建文件2926.1.3 打開與關閉文件2936.1.4 讀寫文件2946.1.5 移動與重命名文件2996.1.6 刪除文件2996.1.7 復制文件3016.1.8 修改文件權限3046.1.9 文件鏈接3066.2 處理 XML 文件3076.2.1 解析XML文件3076.2.2 生成XML文件3106.3 處理JSON 文件3136.3.1 讀取JSON文件3136.3.2 生成JSON文件3156.4 處理正則表達式3166.4.1 正則表達式簡介3166.4.2 使用Go正則表達式3226.5 【實戰】從數據庫中導出一個CSV文件3296.6 處理Go日志記錄3326.7 小結335第7章 Go並發編程3367.1 並發與並行3367.2 進程、線程和協程3387.3 Go並發模型簡介3407.4 用goroutine和通道實現並發3417.4.1 goroutine簡介3417.4.2 通道3437.5 用sync包實現並發3517.5.1 競態3517.5.2 互斥鎖3527.5.3 讀寫互斥鎖3547.5.4 sync.Once結構體3587.5.5 同步等待組sync.WaitGroup3617.5.6 競態檢測器3647.6 用Go開發並發的Web應用3667.6.1 【實戰】開發一個自增整數生成器3667.6.2 【實戰】開發一個並發的消息發送器3667.6.3 【實戰】開發一個多路復合計算器3677.6.4 【實戰】用select關鍵字創建多通道監聽器3687.6.5 【實戰】用無緩衝通道阻塞主線3707.6.6 【實戰】用篩法求素數3717.6.7 【實戰】創建隨機數生成器3727.6.8 【實戰】創建一個定時器3737.6.9 【實戰】開發一個並發的Web爬蟲3747.7 小結377第8章 Go RESTful API接口開發3788.1 什麼是RESTful API3788.2 Go流行Web框架的使用3828.2.1 為什麼要用框架3828.2.2 Gin框架的使用3828.2.3 Beego框架的使用3958.3 【實戰】用Gin框架開發RESTful API4128.3.1 路由設計4128.3.2 數據表設計4128.3.3 模型代碼編寫4128.3.4 邏輯代碼編寫4138.4 【實戰】用Go開發OAuth 2.0接口4178.4.1 OAuth 2.0簡介4178.4.2 用Go開發OAuth 2.0接口的示例4188.5 小結423 第4篇 Go Web項目實戰 第9章 【實戰】開發一個B2C電子商務繫統4269.1 需求分析4269.2 繫統設計4279.2.1 確定繫統架構4279.2.2 制定繫統流程4289.3 設計軟件架構4299.4 設計數據庫與數據表4309.5 搭建繫統基礎架構4319.6 前臺模塊開發4419.6.1 首頁模塊開發4439.6.2 注冊登錄模塊開發4509.6.3 用戶中心模塊開發4639.6.4 商品展示模塊開發4699.6.5 購物車模塊開發4749.6.6 收銀臺模塊開發4819.6.7 支付模塊開發4899.7 後臺模塊開發4939.7.1 登錄模塊開發4939.7.2 商品模塊開發4959.8 小結499第10章 用Docker部署Go Web應用50010.1 了解Docker組件及原理50010.1.1 什麼是Docker50010.1.2 為什麼用Docker50210.1.3 Docker引擎50210.1.4 Docker構架50310.1.5 Docker核心概念50310.1.6 Docker常用命令50410.2 安裝Docker50910.2.1 Linux Docker 安裝50910.2.2 Windows Docker 安裝51010.2.3 Mac OS X Docker 安裝51110.3 【實戰】用Docker運行一個Go Web 應用程序51210.3.1 為什麼使用Docker運行Go Web應用程序51210.3.2 創建Go Web應用程序51210.3.3 用Docker運行一個Go Web應用程序51310.4 【實戰】通過Docker-Compose快速部署51510.4.1 Docker-Compose 簡介51510.4.2 通過Docker-Compose實戰部署51610.5 【實戰】將Docker容器推送至服務器52010.5.1 到Docker Hub官網注冊賬號52010.5.2 同步本地和Docker hub的標簽(tag)52010.5.3 推送鏡像到Docker Hub52110.5.4 訪問Docker Hub鏡像52110.5.5 使用發布的Docker Hub鏡像52210.6 小結523
本書涵蓋從Go語言入門到Go Web開發高手所需的核心知識、方法和技巧,共分4篇。第1篇“Go語言入門”,介紹Go語言的基礎語法,既使沒有Go語言基礎的讀者也可以學習本書。第2篇“Go Web基礎入門”,包括3章:Go Web開發基礎、接收和處理Go Web請求、用Go訪問數據庫。本篇能使讀者快速掌握用Go語言進行Web開發的基礎知識。第3篇“Go Web高級應用”,包括4章:Go高級網絡編程、Go文件處理、Go並發編程、Go RESTful API接口開發。本篇能使讀者用Go語言快速開發各種Web應用。第4篇“Go Web項目實戰”,包括2章:【實戰】開發一個B2C電子商務繫統、【實戰】用Docker部署Go Web應用。本篇通過實例介紹了開發一個B2C電子商務繫統的全過程,包括開發商品展示、購物車、結算、支付等模塊的詳細講解,讓讀者真正了解大型B2C電子商務繫統的架構原理及實現方法,並等
廖顯東 著
"廖顯東高級軟件架構師,全棧開發者,技術極客,Gopher,開源愛好者。畢業於河海大學,先後就職於蘇寧易購等多家大型公司。具有多年軟件開發與團隊管理經驗,精通Java、JavaScript、C、C++、C#、Python、PHP等開發語言。對Go、Rust等開發語言有深入實踐和研究。對大型電子商務繫統開發、高並發架構、分布式架構、微服務、大數據、人工智能算法等領域有深入實踐和研究。"