iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
Modern Web

golang後端入門分享系列 第 7

Day7-Go迴圈

前言

迴圈基本上是每個程式語言必備的函式,藉以迴圈來達成反覆或是循環的動作。而 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搭配迴圈

在迴圈中,常常會搭配 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。

以continue搭配迴圈

上面都提到了 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/


上一篇
Day6-Go敘述
下一篇
Day8-Go陣列Array
系列文
golang後端入門分享30

尚未有邦友留言

立即登入留言