中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Go 語言 for 循環(huán)

Go 語言循環(huán)語句Go 語言循環(huán)語句

for 循環(huán)是一個(gè)循環(huán)控制結(jié)構(gòu),可以執(zhí)行指定次數(shù)的循環(huán)。

語法

Go 語言的 For 循環(huán)有 3 種形式,只有其中的一種使用分號(hào)。

和 C 語言的 for 一樣:

for init; condition; post { }

和 C 的 while 一樣:

for condition { }

和 C 的 for(;;) 一樣:

for { }
  • init: 一般為賦值表達(dá)式,給控制變量賦初值;
  • condition: 關(guān)系表達(dá)式或邏輯表達(dá)式,循環(huán)控制條件;
  • post: 一般為賦值表達(dá)式,給控制變量增量或減量。

for語句執(zhí)行過程如下:

  • 1、先對(duì)表達(dá)式 1 賦初值;

  • 2、判別賦值表達(dá)式 init 是否滿足給定條件,若其值為真,滿足循環(huán)條件,則執(zhí)行循環(huán)體內(nèi)語句,然后執(zhí)行 post,進(jìn)入第二次循環(huán),再判別 condition;否則判斷 condition 的值為假,不滿足條件,就終止for循環(huán),執(zhí)行循環(huán)體外語句。

for 循環(huán)的 range 格式可以對(duì) slice、map、數(shù)組、字符串等進(jìn)行迭代循環(huán)。格式如下:

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

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

實(shí)例

計(jì)算 1 到 10 的數(shù)字之和:

實(shí)例

package main

import "fmt"

func main() {
? ? ? ? sum := 0
? ? ? ? for i := 0; i <= 10; i++ {
? ? ? ? ? ? ? ? sum += i
? ? ? ? }
? ? ? ? fmt.Println(sum)
}

輸出結(jié)果為:

55

init 和 post 參數(shù)是可選的,我們可以直接省略它,類似 While 語句。

以下實(shí)例在 sum 小于 10 的時(shí)候計(jì)算 sum 自相加后的值:

實(shí)例

package main

import "fmt"

func main() {
? ? ? ? sum := 1
? ? ? ? for ; sum <= 10; {
? ? ? ? ? ? ? ? sum += sum
? ? ? ? }
? ? ? ? fmt.Println(sum)

? ? ? ? // 這樣寫也可以,更像 While 語句形式
? ? ? ? for sum <= 10{
? ? ? ? ? ? ? ? sum += sum
? ? ? ? }
? ? ? ? fmt.Println(sum)
}

輸出結(jié)果為:

16
16

無限循環(huán):

實(shí)例

package main

import "fmt"

func main() {
? ? ? ? sum := 0
? ? ? ? for {
? ? ? ? ? ? sum++ // 無限循環(huán)下去
? ? ? ? }
? ? ? ? fmt.Println(sum) // 無法輸出
}

要停止無限循環(huán),可以在命令窗口按下ctrl-c

For-each range 循環(huán)

這種格式的循環(huán)可以對(duì)字符串、數(shù)組、切片等進(jìn)行迭代輸出元素。

實(shí)例

package main
import "fmt"

func main() {
? ? ? ? strings := []string{"google", "json"}
? ? ? ? for i, s := range strings {
? ? ? ? ? ? ? ? fmt.Println(i, s)
? ? ? ? }


? ? ? ? numbers := [6]int{1, 2, 3, 5}
? ? ? ? for i,x:= range numbers {
? ? ? ? ? ? ? ? fmt.Printf("第 %d 位 x 的值 = %dn", i,x)
? ? ? ? } ?
}

以上實(shí)例運(yùn)行輸出結(jié)果為:

0 google
1 json
第 0 位 x 的值 = 1
第 1 位 x 的值 = 2
第 2 位 x 的值 = 3
第 3 位 x 的值 = 5
第 4 位 x 的值 = 0
第 5 位 x 的值 = 0

Go 語言循環(huán)語句Go 語言循環(huán)語句

其他擴(kuò)展