Go 程序開發實戰寶典

猿媛之家

  • 出版商: 機械工業
  • 出版日期: 2023-02-19
  • 定價: $654
  • 售價: 8.5$556
  • 語言: 簡體中文
  • 頁數: 336
  • 裝訂: 平裝
  • ISBN: 7111720644
  • ISBN-13: 9787111720645
  • 相關分類: Go 程式語言Design Pattern
  • 立即出貨

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

商品描述

全書共14章,前6章主要包括基礎數據類型、循環控制、函數和指針、內置容器、字符串處理等。
第7章主要講解Go語言的面向對象編程,主要包括結構體、接口、方法、設計模式、反射等內容。
第8~13章主要介紹服務端開發經常需要處理的問題,主要包括Go語言的編碼規範,
錯誤處理、異常處理、文件讀寫、JSON編碼解碼、網絡編程、gRPC、並發編程、數據庫的操作、網絡安全和測試等內容。
此外,本書還對一些數據類型的底層結構、並發機制、垃圾回收進行了深入的講解,
最後通過對Gin框架的介紹和使用,完成一個基礎的分佈式雲存儲項目。

目錄大綱

按知識點分類的視頻列表
前言
第1章初識Go語言
1.1 Go語言簡介
1.1.1 Go語言的三位主要作者
1.1.2 關於名字
1.1.3 吉祥物
1.1.4 點與勢
1.1.5 項目
1.2 開發環境搭建
1.2.1 Linux環境
1.2.2 Windows環境
1.3 集成開發環境GoLand
1.3.1 下載及安裝
1.3.2 建項目
1.3.3 編寫第個程序
1.4 Go語言程序結構
1.4.1 標識符
1.4.2 關鍵字
1.4.3 字面量
1.4.4 註釋
1.4.5 分隔符
1.4.6 可見性規則
1.5 本章小結
1.6 題
第2章數據類型與運算符
2.1 變量
2.1.1 變量的概念
2.1.2 變量聲明與賦值
2.1.3 變量多重賦值
2.1.4 匿名變量
2.2 數據類型
2.2.1 整型
2.2.2 浮點型
2.2.3 複數
2.2.4 布爾型
2.2.5 字符串
2.2.6 字符
2.2.7 類型轉換
2.2.8 類型別名
2.3 常量
2.3.1 聲明方式
2.3.2 枚舉
2.3.3 iota
2.4 運算符
2.4.1 算術運算符
2.4.2 關係運算符
2.4.3 邏輯運算符
2.4.4 位運算符
2.4.5 賦值運算符
2.4.6 其他運算符
2.4.7 運算符先級
2.5 本章小結
2.6 題
第3章流程控制
3.1 條件判斷語句
3.1.1 語法結構
3.1.2 if語句
3.1.3 if else語句
3.1.4 else if語句
3.1.5 if嵌套語句
3.2 switch語句
3.2.1 語法結構
3.2.2 type switch
3.2.3 switch初始化
3.2.4 fallthrough
3.3 循環語句
3.3.1 語法結構
3.3.2 嵌套循環
3.3.3 range子語句
3.4 循環控制語句
3.4.1 break語句
3.4.2 continue語句
3.4.3 goto語句和標籤
3.5 本章小結
3.6 題
第4章函數與指針
4.1 函數
4.1.1 函數聲明
4.1.2 作用域
4.1.3 函數變量
4.1.4 閉與匿名函數
4.1.5 可變參數
4.1.6 遞歸函數
4.2 指針
4.2.1 指針的本質
4.2.2 基本作
4.2.3 new函數
4.2.4 nil指針
4.2.5 指針的指針
4.3 函數的參數傳遞
4.3.1 形參和實參
4.3.2 值傳遞
4.3.3 引用傳遞
4.3.4 值類型和引用類型
4.4 本章小結
4.5 題
第5章複合數據類型
5.1 數組
5.1.1 理解數組
5.1.2 聲明和初始化
5.1.3 訪問和修改
5.1.4 遍歷數組
5.1.5 多維數組
5.1.6 函數間傳遞數組
5.1.7 數組指針與指針數組
5.2 切片
5.2.1 理解切片
5.2.2 聲明和初始化
5.2.3 修改和截取
5.2.4 增長和復制
5.2.5 刪除切片元素
5.2.6 快速排序
5.3 map
5.3.1 理解map
5.3.2 建map
5.3.3 刪除元素
5.3.4 函數間傳遞map
5.4 本章小結
5.5 題
第6章字符串
6.1 基本作
6.1.1 字符串底層結構
6.1.2 UTF-8編碼
6.1.3 常用作
6.1.4 遍歷字符串
6.2 處理方法
6.2.1 檢索字符串
6.2.2 分隔字符串
6.2.3 大小寫轉換
6.2.4 修剪字符串
6.2.5 比較字符串
6.2.6 連接和替換
6.3 類型轉換
6.3.1 字符串轉其他類型
6.3.2 其他類型轉字符串
6.4 正則表達式
6.4.1 基本規則
6.4.2 使用regexp
6.5 本章小結
6.6 題
第7章面向對象編程
7.1 結構體
7.1.1 結構體定義
7.1.2 實例化
7.1.3 函數間傳遞結構體
7.1.4 匿名結構體
7.1.5 匿名成員
7.1.6 結構體嵌入
7.2 方法
7.2.1 為類型添加方法
7.2.2 方法與函數的區別
7.2.3 值語義和引用語義
7.2.4 方法繼承和重寫
7.3 接口
7.3.1 Duck Typing
7.3.2 接口的使用
7.3.3 接口賦值
7.3.4 接口查詢
7.3.5 多態
7.3.6 空接口
7.3.7 類型斷言
7.4 設計模式
7.4.1 開閉原則
7.4.2 依賴倒置原則
7.4.3 單例模式
7.4.4 工廠方法模式
7.4.5 抽象工廠模式
7.4.6 外觀模式
7.4.7 觀察者模式
7.5 反射
7.5.1 Go語言的反射
7.5.2 反射法則
7.5.3 反射變量的類型和值
7.5.4 建新實例
7.5.5 建引用類型的實例
7.5.6 建函數
7.6 本章小結
7.7 題
第8章編寫規範和錯誤處理
8.1 編寫規範
8.1.1 代碼風格
8.1.2 註釋
8.1.3 命名
8.2 錯誤處理
8.2.1 error接口
8.2.2 處理error的方式
8.2.3 自定義錯誤
8.2.4 引入
8.3 defer
8.3.1 執行順序
8.3.2 值傳遞
8.4 異常處理
8.4.1 panic
8.4.2 recover
8.4.3 實現原理//可以刪除
8.5 內存管理
8.5.1 內存分區
8.5.2 Go Runtime內存分配
8.5.3 逃逸分析
8.5.4 語法糖
8.5.5 垃圾回收
8.5.6 臨時實例池
8.6 本章小結
8.7 題
第9章文件讀寫作
9.1 文件信息
9.1.1 文件概述
9.1.2 FileInfo接口
9.2 文件常規作
9.2.1 建目錄
9.2.2 建文件
9.2.3 打開和關閉文件
9.2.4 刪除文件
9.3 讀寫文件
9.3.1 寫入文件
9.3.2 讀取文件
9.3.3 拷貝文件
9.4 緩衝區
9.4.1 緩衝區原理
9.4.2 bufio.Reader
9.4.3 bufio.Writer
9.4.4 Scanner類型和方法
9.5 JSON
9.5.1 語法規則
9.5.2 編碼和解碼
9.5.3 JSON與map的轉換
9.5.4 JSON與結構體的轉換
9.5.5 結構體字段標籤
9.5.6 匿名字段
9.6 本章小結
9.7 題
第10章網絡編程
10.1 套接字
10.1.1 實現步驟
10.1.2 TCP套接字
10.1.3 UDP套接字
10.2 Web編程
10.2.1 理解路由
10.2.2 交互流程
10.2.3 Web服務器
10.2.4 客戶端
10.3 模板
10.3.1 變量
10.3.2 邏輯判斷
10.3.3 遍歷
10.3.4 嵌套
10.4 RPC應用
10.4.1 內置RPC
10.4.2 Protobuf
10.4.3 gRPC
10.4.4 自簽書
10.4.5 攔截器和認證
10.4.6 添加HTTP接口
10.5 本章小結
10.6 題
第11章並發編程
11.1 並發基礎
11.1.1 並發與並行
11.1.2 進程和線程
11.1.3 協程
11.2 Goroutine
11.2.1 Goroutine原理
11.2. 2GPM模型
11.2.3 Goroutine的使用
11.2.4 閉與Goroutine
11.2.5 調度Goroutine
11.3 Channel
11.3.1 Channel基礎
11.3.2 無緩衝Channel
11.3.3 阻塞
11.3.4 有緩衝Channel
11.3.5 生產者消費者模型
11.3.6 單向Channel
11.3.7 定時器
11.3.8 select分支語句
11.4 同步作
11.4.1 同步等待組
11.4.2 競爭狀態
11.4.3 互斥鎖
11.4.4 讀寫互斥鎖
11.4.5 條件變量
11.5Context
11.5.1Context的作用
11.5.2Context接口
11.5.3時取消
11.5.4傳值
11.6 MapReduce
11.6.1 編程模型原理
11.6.2 編程實驗
11.6.3 實現方案
11.7 本章小結
11.8 題
第12章數據庫編程
12.1 數據庫簡介
12.1.1 關係型數據庫
12.1.2 非關係型數據庫
12.2 作MySQL
12.2.1 安裝MySQL驅動
12.2.2 連接數據庫
12.2.3 CRUD作
12.2.4 預編譯語句
12.2.5 事務處理
12.3 對象關係映射
12.3.1 XORM框架
12.3.2 數據庫配置
12.3.3 結構體映射
12.3.4 表基本作
12.3.5 CRUD作
12.4 Redis
12.4.1 數據類型
12.4.2 讀寫作
12.4.3 連接池
12.5 本章小結
12.6 題
第13章與測試
13.1 信息
13.1.1 Hash算法
13.1.2 Base64
13.1.3 對稱加密
13.1.4 非對稱加密
13.1.5 數字簽名
13.2 測試
13.2.1 單元測試
13.2.2 基準測試
13.2.3 Mock依賴
13.3 本章小結
13.4 題
第14章項目實戰
14.1 Gin框架
14.1.1 Gin框架點
14.1.2 請求參數獲取
14.1.3 數據綁定和驗證
14.1.4 輸出響應
14.1.5 路由設置
14.1.6 中間件
14.2 分佈式網盤項目
14.2.1 項目架構
14.2.2 MVC設計模式
14.2.3 數據庫
14.2.4 路由設置
14.2.5 基礎配置
14.2.6 工具設置
14.3 分佈式文件系統
14.3.1 FastDFS簡介
14.3.2 FastDFS工作原理
14.3.3 安裝和配置FastDFS
14.3.4 配置Nginx模塊
14.4 用戶模塊開發
14.4.1 用戶註冊
14.4.2 登錄功能
14.4.3 頁設計
14.5 文件模塊開發
14.5.1 上傳和下載
14.5.2 秒傳原理
14.5.3 文件信息展示
14.6 本章小結