@Net/HTTP:
- go自带
@Iris:
- https://github.com/kataras/iris
- 自称构建速度最快的goweb开发框架,支持中间件,支持mvc,也支持路由组,session等。
- Iris的创建者称其为“真正属于Go的Express.js”,也就是说,它是JavaScript / Node.js的Web框架的Go语言版,它使用最小设计,绝大部分功能都由插件提供。Iris提供基本的MVC功能,自带对中间件、会话、路由和缓存的支持。
- 以下文档包含很多Iris的示例,包括与React前端的交互,或在Docker / Kubernetes环境中运行的项目:https://iris-go.com/v10/recipe
@Gin:
- https://github.com/gin-gonic/gin
- Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,已经发布了1.0版本。具有快速灵活,容错方便等特点。
@Beego:
- https://github.com/astaxie/beego
- 是一个比较全的框架,有logging library, ORM and Web frameworks
- 社区很大,主要是中国人用
@revel:
- https://github.com/revel/revel
- https://revel.github.io
- Go 语言的高效、全栈 Web 框架。
@Buffalo:
- https://github.com/gobuffalo/buffalo
- https://gobuffalo.io
- 使用 Go 语言快速构建 Web 应用。
@Martini:
- https://github.com/go-martini/martini
- 轻量级框架,Go的第一个Web开发框架
@Gorilla:
- https://github.com/gorilla/mux
- http://www.gorillatoolkit.org
- Gorilla的定位是“Web工具箱”,而并非MVC风格的框架。它提供的库可以帮忙解决Web服务编程中各种底层的问题,包括context(在请求期间保存状态)、mux(路由和调度),以及实现HTTP上的安全cookie、会话、websocket和RPC等功能。
- Gorilla没有提供模板、表单和其他前端部分。你需要自己准备这些部分,你可以在其他框架中使用Gorilla的各个组件,或是在独立组件中集成用Gorilla编写的东西。
@echo:
- https://github.com/labstack/echo
- Echo是另一个小框架,主要面向API。例如,它并没有提供模板系统,所以你可以根据需要使用Go自己的html/template。但是,Echo提供了几种常常用于API的中间件模块,例如基本的认证和密钥身份验证、压缩、代理和日志记录。
- Echo还提供了大量实用的recipe,其中很多无需大费周折就能实现。例如,如果你想使用Let’s Encrypt来管理HTTPS证书,那么可以设置一种recipe来自动安装这些证书。
- 简约的高性能 Go 语言 Web 框架。
@bottle:
@caddy:
@vegeta:
@goreplay:
总结
看了很多,发现Iris,Beego,Gin好像评价比较高。
看到一个网站自己实现框架的:https://geektutu.com/post/gee.html