函数类型Handler

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")
})