【发布时间】:2017-07-09 23:52:17
【问题描述】:
我不认为自己是新手,但我不明白为什么这个非常简单的代码 sn-p 无法声明我的整数。
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)
}
总是说值没有声明,这似乎太简单了。
我很确定如果我使用:= 声明它会起作用,但我想在函数顶部声明所有内容。
【问题讨论】:
-
为什么要在函数顶部声明呢?通常,除了 JavaScript 之外的每种 c-ish 语言的大多数样式指南都建议声明变量尽可能接近其使用点。直接说
var totalResults int = len(lines)。 -
我无法重现此错误。
-
事实上,我用这段代码得到的错误是
totalResults已声明但未使用。你确定你没有误读你的错误信息吗?