for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。
语法
for循环在Go编程语言中的语法是:
for [condition | ( init; condition; increment ) | Range]
{
statement(s);
}
如果condition是可用的,那么对于循环只要条件为真时执行。
如果for子句是( init; condition; increment ) 存在则
初始化(init)步骤首先被执行,并且只有一次。这一步可以声明和初始化任何循环控制变量。不需要把一个声明在这里,只要有一个分号出现。
接着,条件(condition)进行了评估计算。如果为true,则执行循环体。如果是假的,循环体不执行,只是之后的for循环流量控制跳转到下一条语句。
for循环执行主体之后,控制流跳转回到增量(increment)语句。此语句可以让你更新任何循环控制变量。这个语句可以留空,只要一个分号出现条件后。
condition现在重新评估计算。如果为true,循环执行的过程中重复(循环体,然后增加步,然后再次条件)。之后如果条件为假,则循环终止。
如果range可用,然后循环执行的范围内的每个项目。
流程图:
例子:
import "fmt"
func main() {
var b int = 15
var a int
numbers := [6]int{1, 2, 3, 5}
/* for loop execution */
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语言嵌套for循环
Go编程语言允许使用一个循环内嵌套另一个循环。下面的内容展示几个例子来说明这个概念。
语法
在Go语言中嵌套for循环语句的语法如下:
for [condition | ( init; condition; increment ) | Range]
{
for [condition | ( init; condition; increment ) | Range]
{
statement(s);
}
statement(s);
}
package main
import "fmt"
func main() {
/* local variable definition */
var i, j int
for i=2; i < 100; i++ {
for j=2; j <= (i/j); j++ {
if(i%j==0) {
break; // if factor found, not prime
}
}
if(j > (i/j)) {
fmt.Printf("%d is prime/n", i);
}
}
}
- 2 is prime
- 3 is prime
- 5 is prime
- 7 is prime
- 11 is prime
- 13 is prime
- 17 is prime
- 19 is prime
- 23 is prime
- 29 is prime
- 31 is prime
- 37 is prime
- 41 is prime
- 43 is prime
- 47 is prime
- 53 is prime
- 59 is prime
- 61 is prime
- 67 is prime
- 71 is prime
- 73 is prime
- 79 is prime
- 83 is prime
- 89 is prime
- 97 is prime
新闻热点
疑难解答