1、Go中只有for一个循环语句关键字,没有while等;
2、三种结构:
(1)类似于while循环,内部判断
func main() {
a := 1
for {
a++
if a > 5 {
break
}
fmt.Println(a)
}
}
// 运行结果:
2
3
4
5
(2)类似于while循环,外部判断
func main() {
a := 1
for a <= 3 {
a++
fmt.Println(a)
}
fmt.Println("over")
}
//运行结果
2
3
4
over
(3)经典版
for i := 1; i <=5 ; i++ {
...
}
(4) for循环体内可以循环定义同名新变量,因为每次循环为其分配的地址不同;在循环体外不可以重复定义,只可以为其重新赋值
func main(){
a := 2
a = 5
fmt.Println(a)
for i := 1; i < 3; i++ {
v := 1
fmt.Println(&v)
}
}
//运行结果
5
0xc0000700a0
0xc0000700a8