深入解析Go语言中for循环的写法

2019-11-10 09:56:39于海丽

for循环是一个循环控制结构,可以有效地编写需要执行的特定次数的循环。

语法
for循环在Go编程语言中的语法是:

for [condition |  ( init; condition; increment ) | Range]
{
   statement(s);
}


下面是控制在一个流程的for循环:

如果condition是可用的,那么对于循环只要条件为真时执行。

如果for子句是( init; condition; increment ) 存在则

初始化(init)步骤首先被执行,并且只有一次。这一步可以声明和初始化任何循环控制变量。不需要把一个声明在这里,只要有一个分号出现。

接着,条件(condition)进行了评估计算。如果为true,则执行循环体。如果是假的,循环体不执行,只是之后的for循环流量控制跳转到下一条语句。

for循环执行主体之后,控制流跳转回到增量(increment)语句。此语句可以让你更新任何循环控制变量。这个语句可以留空,只要一个分号出现条件后。

condition现在重新评估计算。如果为true,循环执行的过程中重复(循环体,然后增加步,然后再次条件)。之后如果条件为假,则循环终止。

 

如果range可用,然后循环执行的范围内的每个项目。

流程图:

20151029174636303.jpg (359×504)

例子:


package main

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: %dn", a)
   }

   for a < b {
      a++
      fmt.Printf("value of a: %dn", a)
      }

   for i,x:= range numbers {
      fmt.Printf("value of x = %d at %dn", 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循环语句的语法如下: