1.我认为go语言 for循环类似一个函数空间;for循环对控制变量的改变,并不能影响到外界。
举例如下:
a="abc"
print(a)
for a=0;a<10;a++{print(a)}
print(a)
以上代码在python和go编译下结果很不同。
python结果:abc 0 1 2 3 4···9 9
go结果:abc 0 1 2 3 4···9 abc
2.以上思考是关于控制参数a,如果for循环中对别的变量b进行了改变呢?
由图可见,循环中声明的b并未被使用:即for循环中的b和外界无关,for循环是个类似函数的局部空间?
3.请思考一下,go语言下,下面链接中代码的执行结果
https://www.w3cschool.cn/go/go-for-loop.html
package main import "fmt" func main() { var b int = 15 var a int numbers := [6]int{1, 2, 3, 5} /* for 循环 */ for a := 0; a < 10; a++ { fmt.Printf("a 的值为: %d\n", a) } for a < b { a++ fmt.Printf("a 的值为: %d\n", a) } for i,x:= range numbers { fmt.Printf("第 %d 位 x 的值 = %d\n", i,x) } }