如何修复这个简单程序中'declared but not used'编译器错误?



我正在尝试学习围棋。我真的不明白为什么编译器说我没有使用变量。在我看来,我正在使用该变量作为参数来Println.

我的教科书上写着:

在此 for 循环中,i表示数组中的当前位置和 valuex[i]相同

package main
import "fmt"
func main() {
    x := [5]float64{ 1,2,3,4,5 }
    i := 0
    var total float64 = 0
    for i, value := range x {
        total += value
        fmt.Println(i, value)
    }   
    fmt.Println("Average:", total / float64(len(x)))
}

OS X 上的输出:

go run main.go 
# command-line-arguments
./main.go:8: i declared and not used

这个fmt.Println(i, value)肯定在使用变量i吗?

如何修复编译器消息?

从程序中删除外部i

package main
import "fmt"
func main() {
    x := [5]float64{1, 2, 3, 4, 5}
    var total float64 = 0
    for i, value := range x {
        total += value
        fmt.Println(i, value)
    }
    fmt.Println("Average:", total/float64(len(x)))
}

当然是这个fmt。Println(i, value) 正在使用变量 i?

是的,但是您在for循环中定义的那个。(注意:=),这里:

for i, value := range x
    ^        ^

从不使用外部变量i

最新更新