Golang undefined:错误

时间:2018-04-30 04:12:34

标签: variables go scope compiler-errors

我正在尝试简单的以下转换程序。

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,但没有完全理解行为,因此在这里提出问题。

1 个答案:

答案 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)