扫码一下
查看教程更方便
可能有一种情况,当您需要多次执行一个代码块时。通常,语句是按顺序执行的:首先执行函数中的第一条语句,然后是第二条,依此类推。
编程语言提供了允许更复杂的执行路径的各种控制结构。
循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式
Go 编程语言提供了以下类型的循环来处理循环需求
for 循环是一个循环控制结构,可以执行指定次数的循环。
Go 编程语言中for循环的语法是 -
for [condition | ( init; condition; increment ) | range] {
statement(s);
}
for循环中的控制流程如下
range
可用,则对范围内的每个项目执行 for 循环。for 循环流程图如下
package main
import "fmt"
func main() {
var b int = 15
var a int
numbers := [6]int{1, 2, 3, 5}
for a := 0; a < 10; a++ {
fmt.Printf("value of a: %d\n", a)
}
for a < b {
a++
fmt.Printf("value of a: %d\n", a)
}
for i,x:= range numbers {
fmt.Printf("value of x = %d at %d\n", x,i)
}
}
上述代码编译执行结果如下
value of a: 0
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of x = 1 at 0
value of x = 2 at 1
value of x = 3 at 2
value of x = 5 at 3
value of x = 0 at 4
value of x = 0 at 5
Go 编程语言允许在另一个循环中使用一个循环。
Go 中嵌套 for 循环语句的语法如下:
for [condition | ( init; condition; increment ) | Range] {
for [condition | ( init; condition; increment ) | Range] {
statement(s);
}
statement(s);
}
以下示例例使用循环嵌套来输出 2 到 100 间的素数:
package main
import "fmt"
func main() {
/* 定义局部变量 */
var i, j int
for i=2; i < 100; i++ {
for j=2; j <= (i/j); j++ {
if(i%j==0) {
break; // 如果发现因子,则不是素数
}
}
if(j > (i/j)) {
fmt.Printf("%d 是素数\n", i);
}
}
}
上述代码编译执行结果如下
2 是素数
3 是素数
5 是素数
7 是素数
11 是素数
13 是素数
17 是素数
19 是素数
23 是素数
29 是素数
31 是素数
37 是素数
41 是素数
43 是素数
47 是素数
53 是素数
59 是素数
61 是素数
67 是素数
71 是素数
73 是素数
79 是素数
83 是素数
89 是素数
97 是素数
循环控制语句可以控制循环体内语句的执行过程。
GO 语言支持以下几种循环控制语句:
控制语句 | 描述 |
---|---|
break 语句 | 经常用于中断当前 for 循环或跳出 switch 语句 |
continue 语句 | 跳过当前循环的剩余语句,然后继续进行下一轮循环。 |
goto 语句 | 将控制转移到被标记的语句。 |
如果循环中条件语句永远不为 false 则会进行无限循环,我们可以通过 for 循环语句中只设置一个条件表达式来执行无限循环:
package main
import "fmt"
func main() {
for true {
fmt.Printf("这是无限循环。\n");
}
}
当条件表达式不存在时,它被假定为真。您可能有一个初始化和增量表达式,但 C 程序员更常使用 for(;;) 构造来表示无限循环。
注意
- 我们可以通过按 Ctrl + C 键终止无限循环。