query¶
这个包用于从请求参数中解析出ActionFunc处理所需要的。
重要数据结构¶
用法¶
设置解析一个int参数¶
func (this *QuerySet) IntVar(p *int, name string, errno int, msg string, cf CheckInt)
如果 cf == nil
,则默认判断解析后的值非0
设置解析一个string参数¶
func (this *QuerySet) StringVar(p *string, name string, errno int, msg string, cf CheckString)
如果 cf == nil
,则默认判断解析后的值非空
demo¶
import (
"fmt"
"net/url"
"andals/gobox/http/query"
)
qv, _ := url.ParseQuery("a=1&b=hello")
qs := query.NewQuerySet()
var a int
var b string
qs.IntVar(&a, "a", 101, "invalid a", nil)
qs.StringVar(&b, "b", 102, "invalid b", nil)
e := qs.Parse(&qv)
if e != nil {
fmt.Println(e.Error())
} else {
fmt.Println(a, b)
}