出版信息
Go語言高級開發與實戰
出版社: 機械工業出版社
ISBN:9787111696858
版次:臘故舟幾1
商品編碼:13594166
品牌:機工出版
包裝:平裝
開本:16開
出版時間:2022-02-01
用紙:膠版紙
內容簡介
Go語言高級開發與實戰聚焦Go語言的高級開發技巧和套用實戰。全書共6章,分牛汗提別為Go語言基礎實戰、Go語言高級編程技巧、Go Web編程、Go語言並發編程、分散式系統、Go語言秒殺系統實戰。Go語言高級開發與實戰簡潔而不失技術深度,內容豐富全面,以極簡的文字介紹了複雜的案例,是學習Go語鍵捆言高級開發的實用教程。
Go語言高級開發與實戰適合Go語言初學者、Go語言中高級開發人員、Web開發工程師閱讀,還可作為大中專院校相關專業和培訓學校師生的學習用書。
圖書目錄
前言
Go語言基礎實戰/
1.1Go語言基礎/
1.1.1基礎語法/
1.1.2變數/
1.1.3常量/
1.1.4運算符/
1.1.5流程控制語句/
1.2字元串實戰技巧/
1.2.1字元串基礎/
1.2.2中文字元串的截取/
1.2.3按單詞或位元組反轉字糠白企
符串/
1.2.4生成隨頁驗榆煮機字元串/
1.2.5控制大小寫/
1.2.6去除字元串首尾的空格/
1.2.7生成CSV數據/
1.2.8解析CSV數據/
1.2.9獲取中文字元串/
1.2.10按指定函式分割字元串/
1.2.11合併與分割字元串/
1.2.12按照指定函式截取字
符串/
1.2.13【實戰】生成可下載的CSV
檔案/
1.2.14【實戰】用Go運行Shell腳本
程式/
1.3數組和切片基礎技巧/
1.3.1數組和切片基礎/
1.3.2疊代處理數組/
1.3.3從數組中刪除元素/
1.3.4將數組轉換為字元串/
1.3.5檢查某個值是否在數
組中/
1.3.6查找一個元素在數組中的
位置/
1.3.7查找數組中最大值或最小值
元素/
1.3.8隨機打亂數組/
1.3.9刪除數組中重複的元素/
1.4數組高級技巧/
1.4.1一維數組的排序/
1.4.2二維數組的排序/
1.4.3多維數組聲明/
1.4.4多維數組遍歷/
1.4.5多維數組的查詢/
1.4.6多維數組的修改/
1.4.7三維數組生成器/
1.4.8【實戰】贈凶簽從資料庫中獲取數據並
進行合併處理和導出/
1.5map常見實戰技巧/
1.5.1map基礎/
1.5.2檢查一個鍵是否在
map中/
1.5.3json與map互相轉化/
1.5.4map排序示例/
1.5.5map高級使用技巧/
1.5.6map排序技巧/
1.5.7【實戰】從資料庫中獲取數據
並導出特定CSV檔案/
1.6結構體的使用技巧/
1.6.1結構體基礎/
1.6.2結構體初始化/
1.6.3繼承/
1.6.4結構體組合/
1.6.5匿名結構體/
1.6.6結構體嵌套/
1.6.7結構體欄位標籤/
1.6.8Go語言面向對象編程/
1.6.9【實戰】模擬二維矢量移動
小遊戲/
1.7接口常用技巧/
1.7.1接口的賦值/
1.7.2接口的查詢/
1.7.3接轎記台口的組合/
1.7.4接口的常見套用/
1.7.5接口使用注意事項/
目錄
Go語言高級開發與實戰1.8Go語言模組管理/
1.9通道實戰技巧/
1.9.1通道基礎/
1.9.2創建定時通知/
1.9.3使用通道傳送通道/
1.9.4檢查通道的長度和容量/
1.9.5速率限制/
1.10回顧和啟示/
Go語言高級編程技巧/
2.1函式與指針技巧/
2.1.1遞歸函式/
2.1.2匿名變數和匿名函式/
2.1.3指針/
2.1.4函式的參數傳遞/
2.1.5函式使用的常見
注意事項/
2.2反射套用技巧/
2.2.1反射原理/
2.2.2反射3大法則簡介/
2.3Go語言編譯/
2.3.1編譯基礎知識/
2.3.2Go語言編譯原理/
2.3.3Go語言編譯器入口/
2.3.4編譯器調試/
2.4CGO編程技巧/
2.4.1CGO基礎使用/
2.4.2CGO使用的問題和挑戰/
2.5錯誤和異常處理技巧/
2.5.1錯誤和異常簡介/
2.5.2錯誤處理的技巧/
2.5.3異常處理的技巧/
2.6密碼學算法技巧/
2.6.1Hash算法/
2.6.2對稱與非對稱加密算法/
2.6.3橢圓曲線加密算法/
2.6.4字元串編碼與解碼/
2.7性能剖析與事件追蹤/
2.7.1pprof性能剖析/
2.7.2trace事件追蹤/
2.8回顧和啟示/
Go Web編程/
3.1Go Web基礎/
3.1.1Go語言接收HTTP請求/
3.1.2Go語言處理HTTP請求/
3.2Go HTTP2編程/
3.2.1HTTP簡介/
3.2.2Go HTTP2編程實例/
3.3Go HTTP3編程/
3.3.1HTTP3簡介/
3.3.2Go HTTP3編程實例/
3.4Go Socket編程/
3.4.1什麼是Socket/
3.4.2TCP Socket/
3.4.3UDP Socket/
3.4.4【實戰】用Socket開發簡易
聊天程式/
3.5Go MySQL使用技巧/
3.5.1Go 使用MySQL/
3.5.2MySQL常見ORM/
3.6Go Redis使用技巧/
3.6.1Go Redis常見處理技巧/
3.6.2使用Go Redis實現排行榜
功能/
3.7Go gRPC使用/
3.7.1什麼是gRPC/
3.7.2Go gRPC的使用/
3.8【實戰】使用gRPC開發一個簡易分
布式爬蟲系統/
3.9回顧和啟示/
Go語言並發編程/
4.1並發編程基礎/
4.2計算機常見並發模型/
4.2.1執行緒和鎖/
4.2.2演員模型/
4.2.3通信順序進程/
4.3Go語言並發模型/
4.4Go語言常見並發設計模式/
4.4.1屏障模式/
4.4.2未來模式/
4.4.3管道模式/
4.4.4扇出和扇入模式/
4.4.5協程池模式/
4.4.6發布-訂閱模式/
4.5同步常用技巧/
4.5.1競態/
4.5.2互斥鎖/
4.5.3讀寫互斥鎖/
4.5.4隻執行一次/
4.5.5等待組/
4.5.6競態檢測器/
4.5.7並發安全字典/
4.6goroutine使用技巧/
4.6.1限制並發數量/
4.6.2節拍器/
4.6.3使用select多路復用/
4.7【實戰】開發一個並發任務
系統/
4.8回顧和啟示/
分散式系統/
5.1分散式系統原理/
5.1.1什麼是分散式系統/
5.1.2分散式系統的常見一致性
算法/
5.2負載均衡簡介/
5.3常見負載均衡算法/
5.3.1輪詢調度算法/
5.3.2隨機算法/
5.3.3一致性哈希算法/
5.3.4鍵值範圍算法/
5.4分散式鎖/
5.4.1分散式鎖簡介/
5.4.2基於MySQL資料庫表實現
分散式鎖/
5.4.3用ZooKeeper實現分布
式鎖/
5.4.4使用Redis的SETNX實現
分散式鎖/
5.4.5使用etcd實現分散式鎖/
5.4.5分散式鎖的選擇/
5.5Go實現常見的分散式套用/
5.5.1用Snowflake框架生成分布
式ID/
5.5.2Go 語言實現 Paxos一致性
算法/
5.6Go語言常見分散式框架/
5.6.1Go Micro框架/
5.6.2Consul框架/
5.7回顧和啟示/
Go語言秒殺系統實戰/
6.1秒殺系統簡介/
6.1.1高並發系統簡介/
6.1.2秒殺系統簡介/
6.2秒殺系統架構/
6.2.1架構原則/
6.2.2秒殺系統架構/
6.3HTML靜態頁面開發/
6.3.1秒殺頁面設計/
6.3.2秒殺頁面靜態化/
6.3.3客戶端限流/
6.4伺服器端開發/
6.4.1代理層設計/
6.4.2套用層實現/
6.4.3資料庫層隔離/
6.5壓力測試/
6.6回顧與啟示/