go语言for循环的一般式和简写式,执行的顺序逻辑、机制
循环是计算机编程的基本设计,功能十分强大,而且随处可见。go语言当中的循环主要是for循环,并没有while循环。
for循环的基本语法
go语言for循环的基本形式与c/c++、java十分相似,与python有较大的区别,其基本语法如下:
for expression1; expression2; expression3 {}
这三个expresson中,以“;”隔开,1常常用于声明变量,2为条件判断,以终止循环,要不然循环一直持续下去是十分错误的,甚至会烧坏计算机,3通常为一个函数,其返回值通常是为1声明的变量重新赋值,这三者的执行顺序、机制我们将在实例后面的代码解析中进行介绍。
for循环基本实例
package main
import (
"fmt"
)
func main() {
for x := 0; x < 6; x++ {
fmt.Println(x)
}
}
代码输出:
0
1
2
3
4
5
代码解析
如上代码,我们可以将for循环语句的三个表达式同上述语法中的3个expression一一对应。三者的执行顺序如下:
- 执行x:=1;
- 执行x<6的条件判断
- 执行“{}”花括号中的代码;
- 执行x++,这个表达式等同于x = x + 1,就是将变量x加1再重新赋值给x;
- 此时for循环经历了一次循环;
- 执行x<6的条件判断;
- ......
- 直到x<6不成立,for循环终止。
for循环的简写式
for循环的简写式就是可以省略掉上述语法中的expression1和expression3,而只保留expression2,如此也可以见得for循环的条件判断的重要性。
for循环简写式实例
package main
import (
"fmt"
)
func main() {
x := 0
for ;x < 6; {
fmt.Println(x)
x++
}
}
代码输出:
0
1
2
3
4
5
代码解析
如上代码,我们不难发现,所谓的简写式,差不多就是将expression1和expression3分开写而已,每什么不同。除此之外,expression2条件判断两边的“;”也是可以省略的,在vscode里头,这款IDE会自动将那两个“;”去掉。然后,从这个for循环,我们也可以再次证明,for循环中变量的声明其实只执行了一次,后面的基本上就是执行expression2和expression3,及花括号“{}”中的代码块!