3.1. 参数解析

未匹配的标注
本文档最新版为 0.x,旧版本可能放弃维护,推荐阅读最新版!

如有疑问请加群询问,交流群:836414068

Get 请求

自动解析请求参数

// Get请求参数的获取,和参数名无关
//只与处理器的如参顺序和类型有关 
// GET http://localhost:8080/get?age=20&name=saber
a.Get("/get", func(age int, name string) {
     fmt.Printf("age: %d, name: %s", age, name)
})

localhost:8080/get?age=20&name=...

map解析

通过map可以 k/v 形式的参数,使用map解析请求需要注意的一点,如上述的参数类型存在多种则只能通过 map[string]interface{} 或者 map[string]string 这样的形式来处理否则参数解析将失败。

// GET http://localhost:8080/get?age=20&name=saber
a.Get("/get", func(data map[string]string) {
     fmt.Println(data)
}) 

通过结构体解析

Get也可以通过自定义结构体来接收参数,结构体的字段必须为可导出,即大写字母开头(结构体方式解析参数需要对应属性完整,否则可能存在初始化失败属性零值的bug)

type Get struct {
     Name string 
     Age  int
 }
// GET http://localhost:8080/get?age=20&name=saber
a.Get("/get", func(data Get) {
     fmt.Println(data)
})

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~