Go語言for迴圈

2019-10-16 23:16:16

for迴圈是一種重複控制結構,它允許您有效地編寫需要執行特定次數的迴圈。

語法

Go程式設計語言中的for迴圈的語法是:

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

下面是for迴圈中的控制流程:

  1. 如果條件可用,則只要條件為真,for迴圈就執行。
  2. 如果for子句是( init; condition; increment ),則存在

    • init步驟首先執行,並且只執行一次。此步驟允許您宣告和初始化迴圈控制變數。不需要在這裡放置語句,只要有一個分號出現。
    • 接下來,評估(求值)條件。 如果為真,則執行迴圈體。 如果為false,迴圈的主體不執行,控制流跳到for迴圈之後的下一個語句。
    • for迴圈的主體執行後,控制流跳回到increment語句。此語句允許更新任何迴圈控制變數。 此語句可以留空,只要有一個分號出現。
    • 現在再次評估(求值)條件。 如果為真,則迴圈執行並且過程重複(迴圈體,然後增加(increment)步驟,然後再次進入條件increment)。條件變為假後,for迴圈終止。
  3. 如果範圍(range)可用,則對該範圍中的每個專案執行for迴圈。

流程圖

範例

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: %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