Голанг undefined: err - PullRequest
       8

Голанг undefined: err

0 голосов
/ 30 апреля 2018

Я пробую простую следующую программу конвертации.

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 Неопределенная переменная err , но не получил полного понимания поведения и, следовательно, задал вопрос здесь.

1 Ответ

0 голосов
/ 30 апреля 2018

Вы заявляете 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)
...