dse55384 2018-04-30 04:12
浏览 347
已采纳

Golang未定义:err

I am trying out the simple following conversion program.

package main

import (
  "fmt"
  "strconv"
)

func main(){
  var numStr string="2213"
  var numVar int64
  numVar,err=strconv.ParseInt(numStr,10,64)
  fmt.Println(numVar)
}

The above throws the following compilation error.

undefined: err

Then I tried to define the err, error variable.

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)
}

But then the compiler throws the following error this time.

err declared and not used

I referred to the following stackoverflow question Undefined err variable but did not get complete understanding of the behavior and hence asking the question here.

  • 写回答

1条回答 默认 最新

  • doupacan2098 2018-04-30 04:40
    关注

    You declare err:

    var err error
    

    and then you assign something to it:

    numVar,err=strconv.ParseInt(numStr,10,64)
    

    but then you don't look at err or access it. Just assigning something a value doesn't count as using it, you have to look at err:

    numVar,err=strconv.ParseInt(numStr,10,64)
    if err != nil {
      // Complain or something here
    }
    

    If you really don't want to bother with the error, then say so by using the blank identifier:

    numVar, _ = strconv.ParseInt(numStr, 10, 64)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥15 深度学习残差模块模型
  • ¥50 怎么判断同步时序逻辑电路和异步时序逻辑电路
  • ¥15 差动电流二次谐波的含量Matlab计算
  • ¥15 Can/caned 总线错误问题,错误显示控制器要发1,结果总线检测到0
  • ¥15 C#如何调用串口数据
  • ¥15 MATLAB与单片机串口通信
  • ¥15 L76k模块的GPS的使用
  • ¥15 请帮我看一看数电项目如何设计
  • ¥23 (标签-bug|关键词-密码错误加密)