Skip to content

Latest commit

 

History

History
38 lines (28 loc) · 815 Bytes

04.01.md

File metadata and controls

38 lines (28 loc) · 815 Bytes

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

links