Golang的迴圈語句和迴圈控制語句詳解

2022-09-21 02:36:08 字數 2119 閱讀 7235

目錄

1)語法for init; condition; post

2)舉例

1.求1到10的數字之和。

package main

import "fmt"

func main()

fmt.println("1到10的數字之和為:",count)

}執行結果

1到10的數字之和為: 55

2.省略init和post:計算count小於10時自相加的值:

package main

import "fmt"

func main()

fmt.println("count小於10時自相加的值為:",count)

}也可以省略;號:

package main

import "fmt"

func main()

fmt.println("1到10的數字之和為:",count)

}執行結果

count小於10時自相加的值為

3.golang中沒有while迴圈,可以通過省略condition來實現:

package main

import "fmt"

func main()

}package main

import "fmt"

func main()

}輸出結果

(1到10的數字之和)x10: 550

用於對字串、陣列、切片等進行迭代輸出元素:

package main

import "fmt"

func main() //字串陣列

for i,v := range strarray

}輸出結果

下標為:0 值為:a

下標為:1 值為:b

下標為:2 值為:c

1)中斷(跳出)迴圈

寫乙個死迴圈,變數a會一直加1,當a的值大於3的時候則跳出迴圈:

package main

import "fmt"

func main()

}}輸出結果

a 的值為 : 2

a 的值為 : 3

a 的值為 : 4

跳出迴圈

2)指定想中斷(跳出)的迴圈(巢狀迴圈中使用)

使用標號,可以指定想跳出的迴圈。

下面是未使用標記,普通break中斷迴圈,只會中斷當前層迴圈,不會中斷外層,外層列印的值始終為11:

package main

import "fmt"

func main()

}}輸出結果

外層迴圈i: 1

內層迴圈j: 11

外層迴圈i: 2

內層迴圈j: 11

下面是使用標記,指定中斷外層迴圈,等於只迴圈執行了一次:

package main

import "fmt"

func main()

}}輸出結果

外層迴圈i: 1

內層迴圈j: 11

continue 是跳過當次迴圈執行後面的迴圈,而非中斷迴圈

package main

import "fmt"

func main()

//a=3時不會執行列印操作

fmt.printf(vcviwhup"a 的值為 : %d\n", a)

}}執行結果

a 的值為 : 1

a 的值為 : 2

a 的值為 : 4

在迴圈巢狀時,continue也可以指定跳過的迴圈,用法與break一樣

goto 可以直接轉移到指定**處進行執行。

下面的**,當a=3時,會跳出for迴圈,直接執行loop所在行的**:

package main

import "fmt"

func main()

//a=3時不會執行列印操作

fmt.printf("a 的值為 : %d\n", a)

} loop:fmt.printf("a等於3;執行goto跳出!")

}執行結果

a 的值為 : 1

a 的值為 : 2

a等於3;執行goto跳出!

不建議使用goto,容易造成**結構混亂

迴圈語句 while迴圈和for迴圈

迴圈語句 讓一部分 迴圈的執行下去,反覆執行 1 while迴圈語句 迴圈語句的格式 while 迴圈條件 迴圈條件必修是布林型別,當條件的結果是ture時,執行迴圈體,執行完迴圈體後,再接著進入條件的判定,直到條件的結果是false,迴圈體不執行,整個迴圈語句結束。public class whi...

迴圈結構和迴圈語句

在人們所要處理的問題中常常遇到需要反覆執行某一操作的情況。這就需要用到循 環控制。許多應用程式都包含迴圈。順序 結構 選擇結構和迴圈結構是結構化程式 設計的3種基本結構,是各種複雜程式的 基本構造單元。迴圈結構可以減少源程式重複書寫的工作量,用來描述重複執行某段演算法的問題,這是程式設計中最能發揮計...

Golang 條件和迴圈

條件 迴圈要點 for,if後面的條件沒有括號 if條件裡也可以定義變數 沒有while switch不需要break,也可以直接switch多個條件 package main import io ioutil fmt switch會自動break,除非使用fallthrough 可以swich多條...