Go: Continuous Learning - E-book Catalog and Recommendations
Based on 48 Go language e-book resources, distilled into 4 systematic essential documents by theme. Compilation Date: 2026-03-06
Guide to Essential Articles
The following 4 articles distill core knowledge from 48 e-books, systematically organized by theme, covering a complete knowledge system of the Go language, from underlying principles to enterprise practices.
1. Go Underlying Principles and Source Code Essentials
Knowledge Source: “Go Source Code Analysis” (Yu Hen), “Go 1.4 runtime”, “Golang Performance Optimization”, etc.
Core Content: - Go Bootstrapping Process and Initialization - Memory Allocator Three-Level Structure: mcache → mcentral → mheap - GC Tri-color Marking and Write Barrier Mechanism - GMP Scheduler: Collaboration of G (goroutine), M (thread), P (processor) - channel, map, slice, interface Underlying Data Structures - Go Assembly Basics and Performance Analysis
Target Audience: Advanced developers with a Go foundation who want to deeply understand the runtime and compiler
2. Go Concurrency and Distributed Systems Practical Essentials
Knowledge Source: “Go Concurrency Programming in Practice” (Hao Lin), “Mastering Concurrency in Go” (Nathan Kozyra), “Go Language Practice in Building High-Concurrency Distributed Systems”, etc.
Core Content: - atomic operations and CAS principles - Mutex Normal Mode vs Starvation Mode, RWMutex Implementation - Channel Advanced Patterns: Pipeline, Fan-in/Fan-out, Or-Channel - Race Detector Usage and CSP vs Actor Model Comparison - Distributed Systems: Consistent Hashing, Distributed Locks, Service Discovery, Load Balancing - Rate Limiting Algorithms (Token Bucket/Leaky Bucket) and Circuit Breaker Pattern
Target Audience: Go developers who need to write high-concurrency services or distributed systems
3. Go Web and Network Programming Essentials
Knowledge Source: “Go Web Programming” (Xie Da/astaxie), “Go API Programming”, “Go Network Programming”, “Mastering Go Web Services”, etc.
Core Content: - HTTP Server Principles and net/http Standard Library - Routing Framework Design and Middleware Pattern - RESTful API Design and Implementation - WebSocket Real-time Communication - TCP/UDP Network Programming - gRPC and Protocol Buffers - Database Operations (SQL/NoSQL) and ORM - Template Engine and Frontend-Backend Interaction
Target Audience: Developers who use Go to develop Web applications, API services, or microservices
4. Go Enterprise Practice Case Essentials
Knowledge Source: “Go at Google” (Rob Pike), “Go’s Application in Baidu BFE”, “Go’s Application in Distributed Databases”, “Golang and High-Performance DSP Bidding Systems”, “Go’s Application in Cheetah Mobile”, etc.
Core Content: - Why Google Created Go: Design Philosophy and Engineering Trade-offs - Baidu BFE Unified Access Layer’s Practical Experience Migrating from C++ to Go - Go Architecture Design and Optimization for Distributed Databases (TiDB Direction) - Ad DSP Bidding System: Architecture Practice for Low-Latency, High-Throughput - Cheetah Mobile’s Experience Summary Migrating from Python/Java to Go
Target Audience: Developers and technical managers who are interested in big tech company practices, technology selection, and architecture design
Suggested Learning Path
基础入门
|
+----+----+
| |
Web 与网络 并发编程
(精华文章3) (精华文章2)
| |
+----+----+
|
底层原理(精华文章1)
|
企业实践(精华文章4)
Recommended Reading Order:
- First, study articles 0001-0009 of this series “Go Programming Basics” to build a solid foundation in syntax and standard libraries.
- Read “Essential Article 3: Web and Network Programming” and “Essential Article 2: Concurrency and Distributed Systems” in parallel.
- Delve into “Essential Article 1: Underlying Principles and Source Code” to understand Go’s operating mechanism.
- Finally, read “Essential Article 4: Enterprise Practice Cases” to learn from big tech company experiences.
Additional Recommended Books
The following books are highly regarded in the Go community and worth further reading:
| Title | Author | Description |
|---|---|---|
| The Go Programming Language | Donovan & Kernighan | Go language bible, a must-read for beginners |
| Go Language Design and Implementation | Zuo Shuqi (draveness) | Deep dive into compiler and runtime, free online |
| Go Language Advanced Programming | Chai Shushan, Cao Chunhui | Advanced topics like CGO, Assembly, RPC, Web, etc. |
| The Original Go Language | Ou Changkun (changkun) | Go source code level analysis, free online |
| Concurrency in Go | Katherine Cox-Buday | O’Reilly authoritative guide to concurrency programming |
| 100 Go Mistakes | Teiva Harsanyi | Guide to avoiding 100 common mistakes |
| Learning Go | Jon Bodner | O’Reilly 2021 edition, covers new features like modules |
| Go with the Domain | Three Dots Labs | DDD + Go practice, free online |