Go语言的Web微框架:Goji
jopen
11年前
Goji是一个用Go语言写的Web微框架,其设计受到了 Sinatra 的启发。Goji的设计理念是简单、可组合性、自由。
Goji是一个用Go语言写的Web微框架,其设计受到了 Sinatra 的启发。Goji的设计理念是简单、可组合性、自由。它具有以下特点:
- 兼容net/http
- url模式(同时支持 Sinatra 风格的 /foo/:bar 和 正则表达式)
- 可重构中间件栈
- 通过中间件和处理器处理上下文/环境对象
- 自动支持 Einhorn、systemd等
- 渐进停止,配合 Einhorn 可实现零下线时间的渐进重载
- Ruby on Rails / jQuery风格参数解析
项目主页:https://goji.io
项目文档:https://godoc.org/github.com/zenazn/goji
代码托管地址:https://github.com/zenazn/goji
一个简单的 Hello World 示例:
package main import ( "fmt" "net/http" "github.com/zenazn/goji" "github.com/zenazn/goji/web" ) func hello(c web.C, w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %s!", c.URLParams["name"]) } func main() { goji.Get("/hello/:name", hello) goji.Serve() }