go_wtfGo 開發(fā)的 Web 框架
WTF 是小型的Web框架:Web Tiny Framework
WTF的目標(biāo)不是重度框架,不考慮涵蓋所有功能,重點(diǎn)放在簡(jiǎn)單和靈活性上
其實(shí)現(xiàn)了一個(gè)非常靈活的路由(Mux),并且路由的使用方法也極簡(jiǎn)單
還通過(guò)中間件(Midware)的方式實(shí)現(xiàn)了gzip等常用功能
所有的組件都通過(guò)接口來(lái)耦合,意味著開發(fā)者可以自己實(shí)現(xiàn)自己的組件,替換到WTF中
一個(gè)最簡(jiǎn)單的例子:
package main
import (
"github.com/i11cn/go_wtf"
"net/http"
)
func main() {
serv := wtf.NewServer()
serv.HandleFunc(func(ctx wtf.Context){
ctx.WriteString("點(diǎn)啥都是這一頁(yè)")
}, "/*")
http.ListenAndServe(":4321", serv)
}
一個(gè)稍微復(fù)雜點(diǎn)的例子:
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("點(diǎn)啥都是這一頁(yè)")
}, "/*")
http.ListenAndServe(":4321", serv)
}評(píng)論
圖片
表情
