go_wtf - Go 开发的 Web 框架
LGPL
跨平台
Google Go
软件简介
WTF 是小型的Web框架:Web Tiny Framework
WTF的目标不是重度框架,不考虑涵盖所有功能,重点放在简单和灵活性上
其实现了一个非常灵活的路由(Mux),并且路由的使用方法也极简单
还通过中间件(Midware)的方式实现了gzip等常用功能
所有的组件都通过接口来耦合,意味着开发者可以自己实现自己的组件,替换到WTF中
一个最简单的例子:
package main
import (
"github.com/i11cn/go_wtf"
"net/http"
)
func main() {
serv := wtf.NewServer()
serv.HandleFunc(func(ctx wtf.Context){
ctx.WriteString("点啥都是这一页")
}, "/*")
http.ListenAndServe(":4321", serv)
}
一个稍微复杂点的例子:
package main
import (
"github.com/i11cn/go_wtf"
"net/http"
)
type (
my_server struct {
}
)
func (s *my_server) Hello(ctx wtf.Context) {
who := ctx.RESTParams().Get("who")
ctx.WriteString("Hello," + who)
}
func main() {
serv := wtf.NewServer()
my := &my_server{}
serv.Handle(my.Hello, "/hello/:who")
serv.HandleFunc(func(ctx wtf.Context){
ctx.WriteString("点啥都是这一页")
}, "/*")
http.ListenAndServe(":4321", serv)
}