Golang Gin 检索整数数据

Vin*_*cci 2 frameworks go strconv go-gin

我正在尝试使用 Gin 从 POST 申请中检索 int 数据,但收到一条错误消息,指出函数(PostForm 或任何其他)需要字符串作为参数。我尝试搜索需要 int 内容的函数,但没有成功。我有一个结构体来定义内容,请参阅下面的代码。

package userInfo

import(
    "net/http"
    "github.com/gin-gonic/gin"
)

type Person struct {
    Name string
    Age int
}

func ReturnPostContent(c *gin.Context){
    var user Person
    user.Name = c.PostForm("name")
    user.Age = c.PostForm("age")    
    c.JSON(http.StatusOK, gin.H{        
        "user_name": user.Name,
        "user_age": user.Age,       
    })
}
Run Code Online (Sandbox Code Playgroud)

我正在考虑将值转换为 int,但如果我有 10 个输入,这将变得非常困难且不切实际。

user.Age 的错误:

cannot use c.PostForm("age") (value of type string) as int value in assignmentcompiler
Run Code Online (Sandbox Code Playgroud)

小智 5

经过大量的源代码阅读后,我终于发现你所需要的只是在必填字段上添加一个“form”标签:

Age int `form:"age"`
Run Code Online (Sandbox Code Playgroud)