文章目錄
- 1. 基本for循環(類似其他語言的while)
- 2. 經典for循環(初始化;條件;后續操作)
- 3. 無限循環
- 4. 使用break和continue
- 5 . 帶標簽的循環(可用于break/continue指定循環)
- 1、break帶標簽
- 2、continue帶標簽
Go語言中的for循環是唯一的循環結構,但可以通過不同形式實現各種循環需求。以下是Go中for循環的主要用法:
1. 基本for循環(類似其他語言的while)
go語言中沒有while和do while操作,只能用基本for循環來代替while和do while。
基本語法:
for condition {// 循環體
}
示例代碼:
以下for循環的執行順序:
1、先判斷i <= 3
2、執行大括號中的內容。
一直循環到判斷條件不滿足才退出。
i := 1
for i <= 3 {fmt.Println(i)i = i + 1
}
2. 經典for循環(初始化;條件;后續操作)
基本語法:
for initialization; condition; post {// 循環體
}
示例代碼:
以下for循環的執行順序:
1、先執行j := 7(這里可以不是定義,也可以是賦值,也可以省略)
2、進行condition判斷,為true則進入第3步,false則退出for循環。
3、執行大括號中的內容。
4、執行post。
一直執行2、3、4直到2中判斷為false。
for j := 7; j <= 9; j++ {fmt.Println(j)
}
3. 無限循環
基本語法:
for {// 無限循環體// 通常配合break使用
}
示例代碼:
這個就相當于C語言中的while(1)語句。
for {fmt.Println("loop")break
}
4. 使用break和continue
1、break:跳出本層循環
2、continue:跳過本次循環
示例代碼:
1、代碼執行到break則直接退出這一層for循環,因為這里只有一層for循環,所以直接退出for循環。
2、代碼執行到continue則直接進入循環,這里當n = 2的時候進入continue,則跳出本次循環,繼續執行n++,再進行n <= 5判斷,進入下一次循環。
for n := 0; n <= 5; n++ {if n%2 == 0 {continue}fmt.Println(n)if n > 3 {break}
}
5 . 帶標簽的循環(可用于break/continue指定循環)
1、break帶標簽
代碼如下:
下面這段代碼的輸出結果:
0 0
0 1
0 2
1 1
當i = 1,j = 1的時候,跳出到標簽處,跳出那一層循環,因此直接退出for循環。
outer:
for i := 0; i < 3; i++ {for j := 0; j < 3; j++ {if i == 1 && j == 1 {break outer // 跳出外層循環}fmt.Println(i, j)}
}
2、continue帶標簽
代碼如下:
下面這段代碼的輸出結果:
0 0
0 1
0 2
1 0
2 0
2 1
2 2
當i = 1,j = 1的時候,跳出到標簽處,跳出那一次循環,因此直接最外層i = 1的時候不繼續往下執行。
outer:
for i := 0; i < 3; i++ {for j := 0; j < 3; j++ {if i == 1 && j == 1 {continue outer // 跳出外層循環}fmt.Println(i, j)}
}