在PHP编程中,经常会遇到将字符串类型的变量用作整数值的情况。然而,根据PHP的语法规则,我们无法直接将一个字符串类型的变量作为整数值来使用,这将导致错误的结果。这个问题常常会让初学者感到困惑。因此,php小编柚子为大家带来了解决这个问题的方法。接下来,我们将详细介绍如何正确地将字符串类型的变量转换为整数值,以便在程序中正确地使用。
问题内容
我正在学习使用 go 创建 rest api。这就是我被困住的地方。
用户结构
type user struct {
id int `json:"id"`
firstname string `json:"first_name"`
lastname string `json:"last_name"`
}
逻辑如下
params := httprouter.paramsfromcontext(r.context())
userid := params.byname("id")
user := &user{
id: userid,
}
错误
cannot use userid (variable of type string) as int value in struct literal
当用户发送获取请求时:
/user/:id
我尝试了同样的操作,但它也返回错误
user := &user{
id: strconv.atoi(int(userid)),
}
错误
2-valued strconv.Atoi(int(userId)) (value of type (int, error)) where single value is expected
解决方法
我找到了解决方案!我使用了 strconv.atoi()
userId, err := strconv.Atoi(params.ByName("id"))
if err != nil {
fmt.Println(err)
}
user := &user{
ID: userId,
}