我在试着学走。我真的不明白为什么编译器说我没有使用变量。在我看来,我使用这个变量作为Println的一个参数。
我的教科书上写着:
在这个for循环中,
i表示数组中的当前位置,value与x[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
发布于 2014-11-23 16:32:54
如何修复编译器消息?
从程序中删除外部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,值)肯定是在使用变量i?
是的,但是你在for循环中定义的那个。(请注意:=),在这里:
for i, value := range x
^ ^从来不使用外部变量i。
https://stackoverflow.com/questions/27091248
复制相似问题