Latest web development tutorials

Go 語言for 循環

Go 語言循環語句 Go語言循環語句

for循環是一個循環控制結構,可以執行指定次數的循環。

語法

Go語言的For循環有3中形式,只有其中的一種使用分號。

和C 語言的for 一樣:

for init; condition; post { }

和C 的while 一樣:

for condition { }

和C 的for(;;) 一樣:

for { }
  • init: 一般為賦值表達式,給控制變量賦初值;
  • condition: 關係表達式或邏輯表達式,循環控制條件;
  • post: 一般為賦值表達式,給控制變量增量或減量。

for語句執行過程如下:

  • ①先對錶達式1賦初值;
  • ②判別賦值表達式init 是否滿足給定條件,若其值為真,滿足循環條件,則執行循環體內語句,然後執行post,進入第二次循環,再判別condition;否則判斷condition 的值為假,不滿足條件,就終止for循環,執行循環體外語句。

for 循環的range 格式可以對slice、map、數組、字符串等進行迭代循環。 格式如下:

for key, value := range oldMap {
    newMap[key] = value
}

for語句語法流程如下圖所示:

實例

package main

import "fmt"

func main() {

   var b int = 15
   var a int

   numbers := [6]int{1, 2, 3, 5} 

   /* for 循环 */
   for a := 0; a < 10; a++ {
      fmt.Printf("a 的值为: %d\n", a)
   }

   for a < b {
      a++
      fmt.Printf("a 的值为: %d\n", a)
      }

   for i,x:= range numbers {
      fmt.Printf("第 %d 位 x 的值 = %d\n", i,x)
   }   
}

以上實例運行輸出結果為:

a 的值为: 0
a 的值为: 1
a 的值为: 2
a 的值为: 3
a 的值为: 4
a 的值为: 5
a 的值为: 6
a 的值为: 7
a 的值为: 8
a 的值为: 9
a 的值为: 1
a 的值为: 2
a 的值为: 3
a 的值为: 4
a 的值为: 5
a 的值为: 6
a 的值为: 7
a 的值为: 8
a 的值为: 9
a 的值为: 10
a 的值为: 11
a 的值为: 12
a 的值为: 13
a 的值为: 14
a 的值为: 15
第 0 位 x 的值 = 1
第 1 位 x 的值 = 2
第 2 位 x 的值 = 3
第 3 位 x 的值 = 5
第 4 位 x 的值 = 0
第 5 位 x 的值 = 0

Go 語言循環語句 Go語言循環語句