网络编程知识体系概览
问题
Go 在网络编程方面有哪些优势?面试中常考哪些知识点?
答案
Go 被称为"云原生时代的 C 语言",网络编程是其最强优势之一。标准库的 net 和 net/http 包足以构建高性能网络服务。
知识体系
Go 网络编程优势
| 特性 | 说明 |
|---|---|
| goroutine-per-connection | 每个连接一个 goroutine,代码同步、性能异步 |
| 内置 netpoll | 底层自动使用 epoll/kqueue,无需手动管理 |
| 标准库强大 | net/http 可直接用于生产 |
| Context 集成 | 超时和取消信号天然集成 |
分类文档导航
| 文档 | 核心内容 |
|---|---|
| TCP/UDP 编程 | net 包、Listener、Conn、并发模型 |
| HTTP 服务进阶 | 超时配置、连接池、HTTP/2 |
| gRPC | Protobuf、四种通信模式、拦截器 |
| WebSocket | 连接管理、心跳、广播 |
| netpoll 网络模型 | Go 网络轮询器原理 |
| 连接池设计 | 数据库/HTTP/TCP 连接池 |