数据核对:2026-10-22(GitHub API 实测) 本文只讨论「选哪个框架」,具体用法见各框架入门文章。
Kratos 是 B 站开源的微服务框架。和 go-zero 同属「微服务全家桶」,但路线不同:Kratos 以 gRPC 和 proto 为核心,HTTP 是附属;go-zero 以 .api 文件生成 HTTP 服务为主。
go-zero 是国内的微服务框架,核心不是「写 HTTP 接口」,而是用代码生成把一套微服务骨架搭起来:.api 文件描述接口,goctl 生成 handler / logic / model 三层代码,配套限流、熔断、缓存、链路追踪。
Fiber 是基于 fasthttp 的 Go Web 框架,API 风格照搬 Express。它的卖点只有一个:快。
Echo 是 Go 的 HTTP 框架,和 Gin 定位最接近但 API 设计更统一。核心特点是中间件接口规范、参数绑定和校验做得整齐。
阅读准备:掌握 Go 函数、结构体、接口和错误返回;知道 HTTP 请求的方法、路径、状态码与 JSON 各承担什么。
前置:函数和方法、控制结构。完成本章后,应能回答三个问题:调用者如何识别失败,失败以后资源如何清理,外部用户最终看到什么。
前置:函数和方法、控制结构。本章用标准库完成“启动任务 → 传递结果 → 等待结束 → 取消任务 → 保护共享状态”。先单独保存并运行每个程序,再组合成 worker pool;不要把几个 main 函数放在同一个文件。
条件决定走哪条路径,循环反复推进状态。先写循环不变量,例如“已经处理过的元素总和”,比先选择 for 写法更容易检查正确性。
函数参数按值传递。指针参数传递的仍是指针的值,但能通过它访问原对象。方法只是把接收者加入调用约定,不自动获得引用语义。