【问题标题】:Golang undefined: errGolang 未定义:错误
【发布时间】:2018-04-30 04:12:34
【问题描述】:

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

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

然后我尝试定义 err, error 变量。

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

【问题讨论】:

标签: variables go scope compiler-errors


【解决方案1】:

你声明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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-12
    • 2021-11-11
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多