一：提取参数
1、从路由中提取参数(c.Param("key"))
r.GET("/user/:id", func(c *gin.Context) {
    id := c.Param("id")
    c.String(http.StatusOK, "id=%s", id)
})

2、从url中提取参数 - c.Query("key")
r.GET("/user", func(c *gin.Context) {
    name := c.Query("name")
    age := c.Query("age")
    c.String(http.StatusOK, "name=%s, age=%s", name, age)
})

3、从post提交中提取参数 - c.PostParam("key")
需要注意的是，在使用 c.PostForm() 和 c.DefaultPostForm() 方法获取客户端 POST 请求参数时，需要在处理请求之前调用 c.Request.ParseForm() 方法，以便解析表单参数。例如：
r.POST("/user", func(c *gin.Context) {
    c.Request.ParseForm()//特别注意
    name := c.PostForm("name")
    age := c.PostForm("age")
    c.String(http.StatusOK, "name=%s, age=%s", name, age)
})

4、用ShouldBindXX将请求参数（body）映射到结构上
c.SouldBind
c.SouldBindJson
c.SouldBindXml
c.SouldBindForm
。。。。。。

5、其他方法
除了上述方法外，Gin 框架还提供了一些其他方法来处理客户端提交的参数，例如：
c.GetHeader()：获取客户端提交的请求头信息。
c.GetRawData()：获取客户端提交的请求体信息（原始数据）。
c.Request.FormValue()：获取客户端提交的表单参数值。
c.Request.PostFormValue()：获取客户端提交的 POST 请求参数值。


