我正在尝试简单的以下转换程序。
package main
import (
"fmt"
"strconv"
)
func main(){
var numStr string="2213"
var numVar int64
numVar,err=strconv.ParseInt(numStr,10,64)
fmt.Println(numVar)
}
以上引发了以下编译错误。
undefined: err
然后我尝试定义错误,错误变量。
package main
import (
"fmt"
"strconv"
)
func main(){
var numStr string="2213"
var numVar int64
var err error
numVar,err=strconv.ParseInt(numStr,10,64)
fmt.Println(numVar)
}
但是这次编译器会抛出以下错误。
err declared and not used
我提到了以下stackoverflow问题Undefined err variable,但没有完全理解行为,因此在这里提出问题。
答案 0 :(得分:4)
您声明err
:
var err error
然后你给它分配一些东西:
numVar,err=strconv.ParseInt(numStr,10,64)
但是你不看err
或访问它。只是指定一个值并不算作使用它,你必须看err
:
numVar,err=strconv.ParseInt(numStr,10,64)
if err != nil {
// Complain or something here
}
如果您真的不想打扰错误,请使用空白标识符说明:
numVar, _ = strconv.ParseInt(numStr, 10, 64)