操作与中间件 - 函数类型Handler
优质
小牛编辑
138浏览
2023-12-01
4.1 函数类型Handler
faygo中已经定义了个函数类型的Handler,源码如下:
type HandlerFunc func(ctx *Context) error
func (h HandlerFunc) Serve(ctx *Context) error {
return h(ctx)
}
当Handler中不直接依赖请求参数时,建议使用函数类型,因为理论上它的执行效率比结构体类型要高一点儿。
下面展示两个示例:
func Count(prefix string) faygo.HandlerFunc {
var count uint64
return func(ctx *faygo.Context) error {
count++
return ctx.String(200, "%s %d", prefix, count)
}
}
var Name = faygo.HandlerFunc(func(ctx *faygo.Context) error {
return ctx.String(200, "faygo")
})