迴圈基本上是每個程式語言必備的函式,藉以迴圈來達成反覆或是循環的動作。而 Go 語言的迴圈種類比起其他程式語言來說,比較單一,只用 fo r迴圈來表達三種不同的回圈,而我們就來介紹幾種 for 迴圈的使用方式。
此種 for 迴圈,使用方法與其他程式語言的 for 迴圈的觀念較為相近,在一開始會宣告一個計數的變數,通常初始值為0(也可因應需求做調整),然後給定計數器最大值,作為迴圈終止的條件,我們來看一下以下程式碼:
package main
import "fmt"
func main(){
for i :=0 ; i <= 10; i++{
fmt.Println(i)
}
}
在這段程式碼,i 為我們的計數器,初始值為0,而最大值為10,其中 i++ 表示對 i 做迭代的動作,在每個迴圈結束後對 i 做加1的動作,直到 i 到最大值,最後迴圈裡頭的為印出每個迴圈中,計數器 i 的值,其結果為:
0
1
2
3
4
5
6
7
8
9
10
而對計數器做迭代的動作,也可寫在迴圈裡頭,也回得到相同的結果,例如:
for i :=0 ; i <= 10;{
fmt.Println(i)
i++
}
此種for迴圈,是以條件來決定迴圈是否繼續執行,其邏輯並不難,我們直接看以下程式碼:
package main
import "fmt"
func main(){
i := 10
for i >= 0{
fmt.Println(i)
i--
}
}
其結果為:
10
9
8
7
6
5
4
3
2
1
0
在迴圈中,常常會搭配 break 做使用,可依條件需求讓迴圈提早跳出結束,看一下以下程式碼:
package main
import "fmt"
func main() {
sum := 0
for i := 1; i <= 100; i++ {
sum += i
if sum >200 {
fmt.Println(i)
break
}
}
}
雖然計數器的條件為小於等於100,但依我們迴圈裡的條件,sum 的值在大於200時,會自動 break,其結果輸出為20。
上面都提到了 break,那有寫過程式的大家一定也會想到 continue,其使用方法,為若符合條件,便會跳過到此迴圈,直接進入下個迭代,
package main
import "fmt"
func main() {
for i := 1; i <= 10; i++ {
if i%2 == 0 {
continue
}
fmt.Println(i)
}
}
這個範例是為了印出小於10正積數,當計數器為偶數時,判斷後會直接跳到下一個迴圈,不會執行印出的動作。
以上是介紹 Go 語言中基本的 for 迴圈使用方法,當然還有更進階的用法,這裏就不再更深入帶入,若後續單元有用到,會在更深入講解,感謝今天的閱讀。
https://opensourcedoc.com/golang-programming/iteration/