【发布时间】:2018-02-27 10:16:53
【问题描述】:
好的,我正在使用以下代码,
err := r.ParseForm()
if err != nil {
log.Panic(err)
}
var user User
err := decoder.Decode(&user, r.PostForm)
if err != nil {
log.Panic(err)
}
现在,当我尝试运行此代码时,我收到以下错误,
no new variables on left side of :=
现在我知道这是由于使用了相同的变量,在本例中为 err,但我已经看到了很多其他开发人员如何处理错误处理的示例?
我一直使用的方式就是使用err1和err2,这样我就可以构建代码了。
我已经阅读了文档,但有很多内容需要学习,并且一定错过了 err 变量是如何被重用的,还是我完全误解了一些东西?
谢谢,
【问题讨论】:
-
err :=->err =。 “还是我完全误解了什么?”是的,你似乎不明白:=和=之间的区别 -
我刚刚尝试使用 err = 得到以下结果 -> main.go:70:2: undefined: err
-
第二个就是 =。 err 已在第一个中声明。如果说那行会有一个新变量,那么它就像 newVar, err := (现在左边有一个新变量)。
-
查看整个错误,包括行号,应该会更清楚哪里出了问题。
标签: go