Google資深工程師深度講解Go語言 - 課程目錄索引
課程來源:慕課網(百度網盤備份)
講師風格:從 Google 工程實踐出發,注重底層原理和工程規範
完整視頻章節與筆記對照表
| 章節 | 視頻文件 | 筆記位置 | 狀態 |
|---|---|---|---|
| Ch1 課程介紹 | 1-1 課程導讀 | — | 跳過 |
| 1-2 安裝與環境 | 001.md > GOPATH、環境變量 | 已覆蓋 | |
| Ch2 基礎語法 | 2-1 變量定義 | 001.md > 基本語法、內建類型、強制類型轉換、常量 | 已覆蓋 |
| 2-4 條件語句 | 001.md > if、switch | 已覆蓋 | |
| 2-5 循環 | 001.md > for | 已覆蓋 | |
| 2-6 函數 | 001.md > 函數、指針 | 已覆蓋 | |
| Ch3 內建容器 | 3-1 數組 | 001.md > 數組 | 已覆蓋 |
| 3-3 切片的操作 | 001.md > 切片Slice(reslice/append/copy/cap擴容) | 已覆蓋 | |
| 3-5 Map例題 | 001.md > Map + 最長不重複子串實例 | 已覆蓋 | |
| Ch4 面向對象 | 4-1 結構體和方法 | 002.md > 結構體、方法、TreeNode、封裝、Queue | 已覆蓋 |
| Ch5 接口 | 5-1 duck typing的概念 | 002.md > 接口、duck typing、Retriever示例 | 已覆蓋 |
| 5-2 接口的定義和實現 | 002.md > 接口變量、Type Assertion/Switch | 已覆蓋 | |
| 5-4 接口的組合 | 002.md > 組合接口概念(簡略) | 已覆蓋 | |
| 5-5 常用系統接口 | 002.md > Stringer/Reader/Writer | 已覆蓋 | |
| Ch6 函數式編程 | 6-1 函數式編程 | 002.md > 閉包/斐波那契 + 006_函數式編程.md | 已補充 |
| 6-2 函數式編程例一 | 002.md > TraverseFunc + 006_函數式編程.md | 已補充 | |
| Ch7 錯誤處理 | 7-2 錯誤處理概念 | 002.md > error類型、PathError | 已覆蓋 |
| 7-3 服務器統一出錯處理 | 002.md > errWrapper、錯誤分類處理 | 已覆蓋 | |
| 7-5 服務器統一出錯處理2 | 002.md > userError接口、用戶/系統錯誤分離 | 已覆蓋 | |
| Ch8 測試 | 8-1 測試 | 003.md > 表格驅動測試 | 已覆蓋 |
| 8-2 代碼覆蓋率和性能測試 | 編程基礎/0009_testing詳解.md | 已補充 | |
| 8-3 使用pprof進行性能調優 | Go工程師體系課/020.md(pprof) | 已補充 | |
| 8-4 測試http服務器(上) | 編程基礎/0009_testing詳解.md > httptest | 已補充 | |
| 8-5 測試http服務器(下) | 同上 | 已補充 | |
| 8-6 生成文檔和示例代碼 | 007_godoc與代碼生成.md | 已補充 | |
| 8-7 測試總結 | 編程基礎/0009_testing詳解.md | 已補充 | |
| Ch9 Goroutine | 9-1 (goroutine基礎) | 004.md > goroutine原理、協程vs線程、切換點 | 已覆蓋 |
| 9-2 go語言的調度器 | 008_GMP調度器與Go設計哲學.md | 已補充 | |
| Ch10 Channel | 10-2 使用Channel等待任務結束 | 004.md > done channel、WaitGroup | 已覆蓋 |
| 10-3 使用Channel進行樹的遍歷 | 004.md > TraverseWithChannel | 已覆蓋 | |
| 10-4 用select進行調度 | 004.md > select、超時、Ticker、數據緩存隊列 | 已覆蓋 | |
| Ch11 http標準庫 | 11-1 http標準庫 | 005.md > http客戶端、User-Agent | 已覆蓋 |
| Ch12 迷宮算法 | 12-1 迷宮算法 | 005.md > 廣度優先算法、point結構體 | 已覆蓋 |
| Ch13 爬蟲項目 | 13-1 爬蟲項目介紹 | 005.md > 技術選型、爬蟲庫 | 已覆蓋 |
| 13-2 總體算法 | 005.md > Fetcher→Parser架構 | 已覆蓋 | |
| Ch14 單任務爬蟲 | 14-1 獲得初始頁面內容 | 005.md > http.Get+轉碼+正則 | 已覆蓋 |
| 14-2 正則表達式 | 005.md > regexp.MustCompile | 已覆蓋 | |
| 14-3 提取城市和url | 005.md > printCityList | 已覆蓋 | |
| 14-4 單任務版爬蟲的架構 | 005.md > engine/fetcher/model | 已覆蓋 | |
| 14-5 Engine與Parser | 005.md | 已覆蓋 | |
| 14-6 測試CityListParser | 005.md | 已覆蓋 | |
| 14-8 用戶信息解析器(下) | 005.md | 已覆蓋 | |
| Ch15 併發爬蟲 | 15-1 併發版爬蟲架構 | 005.md > Worker架構圖 | 已覆蓋 |
| 15-2 簡單調度器 | 005.md > Scheduler實現1(公用輸入) | 已覆蓋 | |
| 15-3 併發調度器 | 005.md > 實現2(request+worker雙隊列) | 已覆蓋 | |
| 15-5 重構和總結 | 005.md > url去重 | 已覆蓋 | |
| 15-6 更多城市 | 005.md | 已覆蓋 | |
| Ch16 Docker+ES | 16-1 ItemSaver的架構 | 005.md > ItemSaver、goroutine提交 | 已覆蓋 |
| 16-2 Docker和ElasticSearch介紹 | 005.md > docker run ES | 已覆蓋 | |
| 16-4 ElasticSearch入門 | 005.md > REST接口、index/type/id | 已覆蓋 | |
| 16-5 向ES存儲數據 | 005.md > olivere/elastic客戶端 | 已覆蓋 | |
| 16-8 重構與運行 | 005.md | 已覆蓋 | |
| 16-9 標準模板庫介紹 | 005.md > html/template(簡略) | 已覆蓋 | |
| 16-10 實現前端展示頁面 | 005.md | 已覆蓋 | |
| 16-11 完善前端展示 | 005.md | 已覆蓋 | |
| Ch17 分佈式爬蟲 | 17-1 分佈式系統簡介 | 005.md > 分佈式vs微服務、消息傳遞 | 已覆蓋 |
| 17-4 ItemSaver服務 | 005.md > jsonRPC server/client | 已覆蓋 | |
| 17-5 整合ItemSaver服務 | 005.md | 已覆蓋 | |
| 17-7 實現爬蟲服務 | 005.md | 已覆蓋 | |
| 17-8 完整分佈式爬蟲的運行 | 005.md | 已覆蓋 | |
| 17-10 實戰項目總結 | 005.md > 分佈式架構總結 | 已覆蓋 | |
| Ch18 課程總結 | 18-1 體會Go語言的設計 | 008_GMP調度器與Go設計哲學.md | 已補充 |
| 18-2 課程總結 | 同上 | 已補充 |
筆記文件速查
Go資深工程師講解(慕課)/ 目錄
| 文件 | 主要內容 | 對應視頻章節 |
|---|---|---|
| 000_課程目錄索引.md | 本文件 | — |
| 001.md | 變量、類型、常量、if/switch/for、函數、指針、數組、切片、Map | Ch1-3 |
| 002.md | 字符串、結構體、封裝、接口/duck typing、函數式編程、defer、錯誤處理 | Ch4-7 |
| 003.md | 表格驅動測試(簡略) | Ch8 |
| 004.md | goroutine、channel、buffered channel、select調度、WaitGroup、Mutex | Ch9-10 |
| 005.md | http標準庫、迷宮、爬蟲(單任務→併發→分佈式)、ES、Docker、jsonRPC | Ch11-17 |
| 006_函數式編程.md | 閉包深入、裝飾器/中間件、Functional Options、函數組合、惰性求值 | Ch6 擴展 |
| 007_godoc與代碼生成.md | godoc文檔生成、Example測試、go generate | Ch8-6 擴展 |
| 008_GMP調度器與Go設計哲學.md | GMP模型、調度原理、Go設計哲學總結 | Ch9-2, Ch18 |
編程基礎/ 目錄(通用補充筆記)
| 文件 | 內容 | 關聯視頻 |
|---|---|---|
| 0005_錯誤處理進階.md | error wrapping、errors.Is/As、哨兵錯誤 | Ch7 擴展 |
| 0006_併發進階_sync包與Context.md | RWMutex/Once/Map/Pool + Context | Ch9-10 擴展 |
| 0007_併發模式.md | Worker Pool、Pipeline、Fan-in/out、errgroup | Ch15 擴展 |
| 0008_標準庫進階.md | io/os/bufio/strings/time/fmt/slog | Ch11 擴展 |
| 0009_testing詳解.md | httptest、Benchmark、覆蓋率、Fuzz | Ch8 擴展 |
Go工程師體系課/ 目錄
| 文件 | 內容 | 關聯視頻 |
|---|---|---|
| 015.md | Docker容器化 | Ch16 擴展 |
| 016.md | Kubernetes入門 | — |
| 019.md | Go內存模型與GC | — |
| 020.md | 性能優化與pprof | Ch8-3 擴展 |
主題測試文章,只做測試使用。發佈者:Walker,轉轉請注明出處:https://walker-learn.xyz/archives/6724