Go 語言高級開發與實戰

廖顯東

  • 出版商: 機械工業
  • 出版日期: 2022-01-11
  • 售價: $714
  • 貴賓價: 9.5$678
  • 語言: 簡體中文
  • 頁數: 340
  • 裝訂: 平裝
  • ISBN: 7111696859
  • ISBN-13: 9787111696858
  • 立即出貨

買這商品的人也買了...

商品描述

Go語言高級開發與實戰聚焦Go語言的高級開發技巧和應用實戰。
《Go語言高級開發與實戰 》共6章,分別為Go語言基礎實戰、Go語言高級編程技巧、Go Web編程、
Go語言並發編程、分佈式系統、Go語言秒殺系統實戰。 Go語言高級開發與實戰簡潔而不失技術深度,
內容豐富全面,以極簡的文字介紹了複雜的案例,是學習Go語言高級開發的實用教程。
Go語言高級開發與實戰適合Go語言初學者、Go語言中高級開發人員、
Web開發工程師閱讀,還可作為大中專院校相關專業和培訓學校師生的學習用書。

作者簡介

廖顯東
高級軟件架構師,全棧開發者,技術極客,Gopher,開源愛好者。多年軟件開發與團隊管理經驗,精通Java、C/C++/C#、Python、PHP等開發語言。對Go、Rust等流行開發語言有深入實踐和研究。對大型電子商務系統開發、高並發架構、分佈式架構、微服務、大數據、人工智能算法等領域有深入實踐和研究。

目錄大綱

目錄
前言

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回顧與啟示/