Go語言聖經(中文版)讀書筆記
阿新 • • 發佈:2019-01-27
首先感謝作者譯者,讓我們見識到了如此好的文章。
1. 入門
- Hello,World
- 命令列引數
- 查詢重複的行
- GIF動畫
- 獲取URL
- 併發獲取多個URL
- WEB服務
- 本章重點
2.程式結構
- 命名
- 宣告
- 變數
- 賦值
- 型別
- 包和檔案
- 作用域
3.基礎資料型別
- 整型
- 浮點數
- 複數
- 字串
- 常量
4.複合資料型別
- 陣列
- Slice
- Map
- 結構體
- JSON
- 文字和HTML模板
5.函式
- 函式宣告
- 遞迴
- 多返回值
- 錯誤
- 函式值
- 匿名函式
- 可變引數
- Deferred函式
- Panic異常
- Recover捕獲異常
6.方法
- 方法宣告
- 基於指標物件的方法
- 通過嵌入結構體來擴充套件型別
- 方法值和方法表示式
- 示例:Bit陣列
- 封裝
7.介面
- 介面是合約
- 介面型別
- 實現介面的條件
- flag.Value介面
- 介面值
- sort.interface介面
- http.Handler介面
- error介面
- 示例:表示式求值
- 型別斷言
- 基於型別斷言識別錯誤型別
- 通過型別斷言查詢介面
- 型別分支
- 示例:基於標記的XML解碼
- 補充幾點
8.Goroutines和Channels
- Goroutines
- 示例:併發的Clock服務
- 示例:併發的Echo服務
- Channels
- 併發的迴圈
- 示例:併發的Web爬蟲
- 基於select的多路複用
- 示例:併發的字典遍歷
- 併發的退出
- 示例:聊天服務
9.基於共享變數的併發
- 競爭條件
- sync.Mutex互斥鎖
- sync.RWMutex讀寫鎖
- 記憶體同步
- sync.Once初始化
- 競爭條件檢測
- 示例:併發的非阻塞快取
- Goroutines和執行緒
10.包和工具
- 包簡介
- 匯入路徑
- 包宣告
- 匯入宣告
- 包的匿名匯入
- 包和命名
- 工具
11.測試
- go test
- 測試函式
- 測試覆蓋率
- 基準測試
- 剖析
- 示例函式
12.反射
- 為何需要反射
- reflect.Type和reflect.Value
- Display遞迴列印
- 示例:編碼S表示式
- 通過reflect.Value修改值
- 示例:解碼S表示式
- 獲取結構體欄位表示
- 顯示一個型別的方法集
- 幾點忠告
13.底層程式設計
- unsafe.Sizeof,Aligonf和Offsetof
- unsafe.Pointer
- 示例:深度相等判斷
- 通過cgo呼叫c程式碼
- 幾點忠告
14.附錄
- 附錄A:原文勘誤
- 附錄B:作者譯者
- 附錄C:譯文授權
- 附錄D:其他語言