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