dpymrcl269187540
dpymrcl269187540
2017-07-09 23:52
浏览 32
已采纳

Golang中的简单整数声明

I didn't consider myself to be a newbie, but I can't figure out why this very simple code snippet fails to declare my integer.

func main () {

    var totalResults int

    rFile, err := os.Open("users.csv") //3 columns
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    defer rFile.Close()

    // Creating csv reader
    reader := csv.NewReader(rFile)

    lines, err := reader.ReadAll()
    if err == io.EOF {
        fmt.Println("Error:", err)
        return
    } else {

    }

    totalResults=len(lines)

}

It always says the value is not declared, this seems too simple.

I'm pretty sure it would work if I declared it using :=, but I wanted to declare everything at the top of the function.

图片转代码服务由CSDN问答提供 功能建议

我不认为自己是新手,但我不知道为什么这个非常简单的代码段 无法声明我的整数。

  func main(){
 
 var totalResults int 
 
 rFile,err:= os.Open(“ users.csv”  )// 3列
,如果错误!= nil {
 fmt.Println(“ Error:”,err)
 return 
} 
延迟rFile.Close()
 
 //创建csv阅读器\  n reader:= csv.NewReader(rFile)
 
行,err:= reader.ReadAll()
如果err == io.EOF {
 fmt.Println(“ Error:”,err)
返回 
} else {
 
} 
 
 totalResults = len(lines)
 
} 
   
 
 

总是表示未声明该值 ,这似乎太简单了。

我敢肯定,如果我使用:= 声明它,它将可以正常工作,但是我想在它的顶部声明所有内容 函数。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • drhg24275
    drhg24275 2017-07-10 11:00
    已采纳

    change your code:

    lines, err := reader.ReadAll()
    if err == io.EOF {
        fmt.Println("Error:", err)
        return
    } else {
    
    }
    
        totalResults=len(lines)
    
    }
    

    to:

        lines, err := reader.ReadAll()
    if err == io.EOF {
        totalResults=len(lines)
    } else {
        fmt.Println("Error:", err)
        return
    }
        fmt.Println("total results:", totalResults)
    }
    
    点赞 评论

相关推荐