Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Golang中的简单整数声明_Go_Undeclared Identifier - Fatal编程技术网

Golang中的简单整数声明

Golang中的简单整数声明,go,undeclared-identifier,Go,Undeclared Identifier,我并不认为自己是新手,但我不明白为什么这个非常简单的代码段不能声明我的整数 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 cs

我并不认为自己是新手,但我不明白为什么这个非常简单的代码段不能声明我的整数

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)

}
它总是说没有声明值,这似乎太简单了

如果我使用
:=
声明它,我很确定它会起作用,但我想声明函数顶部的所有内容。

更改代码:

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
被声明而没有使用。您确定没有误读错误消息吗?
    lines, err := reader.ReadAll()
if err == io.EOF {
    totalResults=len(lines)
} else {
    fmt.Println("Error:", err)
    return
}
    fmt.Println("total results:", totalResults)
}