这个仓库包含了我学习Go和计算机系统的笔记。不同的人有不同的学习风格。 对我而言,我通过做事和逐步学习实例来学习最好。 因此,我尝试仔细记录笔记并直接在源代码上进行注释,而不是编写Markdown文件。 这样一来,我可以在阅读时理解每一行代码,并牢记幕后的理论。
在整片文档中,我还添加部分我觉得有用的链接在当中
如果您有兴趣获得最近的更新,请添加邮箱快速订阅 邮箱添加地址 →
- 设计哲学: 指导方案
- 语言机制
- 语法
- Data Structures
- Decoupling
- Method:
- Interface:
- Embedding:
- Exporting:
- Software Design
- Composition:
Guideline
- Grouping types:
- Decoupling:
- Conversion:
- Interface Pollution:
- Mocking:
- Error Handling:
- Packaging: Guideline
- Dependency management: Go Modules
- Composition:
Guideline
- Concurrency
- Mechanics
- Goroutine:
- Data race:
- Channel:
- Guideline
- Language Mechanics | Unbuffered channel: Signaling with(out) data
- Unbuffered channel: Double signal | Buffered channel: Close and range | Unbuffered channel: select and receive | Unbuffered channel: select and send | Buffered channel: Select and drop
- Unbuffered channel (Tennis match)
- Unbuffered channel (Replay race)
- Buffered channel: Fan Out
- Select
- Patterns
- Context:
- Pattern
- Task
- Logger
- Mechanics
- Testing and Profiling
- Testing:
- Benchmarking
- Fuzzing
- Profiling
- Stack Trace: Review | Packing
- GODEBUG: Memory Tracing