Go - 迴圈:精通編程中的重複
Hello, 有志的程式設計師們!今天,我們將深入編程中最基礎的概念之一:迴圈。作為你們親切的小區計算機科學老師,我很興奮能夠引導你們進入 Go 迴圈的迷人世界。相信我,到了這個教學的結尾,你們將會像專家一樣進行迴圈!
迴圈是什麼?
在我們深入細節之前,讓我們先了解什麼是迴圈。想像一下,你被指派寫 "我愛編程" 這句話100次。很無聊,對吧?這就是迴圈派上用場的地方!它們讓我們能夠在不重複寫同一段代碼的情況下,重複執行一組指令多次。
Go 語言中的迴圈類型
Go 提供了三種主要的迴圈類型:
- For 迴圈
- While 迴圈(使用 for 實現)
- 基於範圍的 for 迴圈
讓我們詳細探討這些類型。
1.經典的 For 迴圈
For 迴圈是 Go 語言中最常見的迴圈類型。它就像瑞士軍刀一樣的迴圈——多用途且強大。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("迭代:", i)
}
}
在這個例子中:
-
i := 0
初始化迴圈變量 -
i < 5
是在每次迭代前檢查的條件 -
i++
在每次迭代後執行
輸出:
迭代: 0
迭代: 1
迭代: 2
迭代: 3
迭代: 4
2. While 迴圈(Go 風格)
Go 沒有 while
關鍵字,但我們可以使用 for
迴圈達到相同的效果。這就像穿著燕尾服的 T 恤——正式上是 for 迴圈,但功能上是 while 迴圈!
package main
import "fmt"
func main() {
count := 0
for count < 3 {
fmt.Println("計數為:", count)
count++
}
}
在這裡,當 count < 3
為真時,迴圈會繼續執行。
輸出:
計數為: 0
計數為: 1
計數為: 2
3. 基於範圍的 For 迴圈
這是我個人的最愛——就像為你的數據結構裝上 GPS。它對於遍歷數組、切片、映射等非常適合。
package main
import "fmt"
func main() {
fruits := []string{"蘋果", "香蕉", "櫻桃"}
for index, fruit := range fruits {
fmt.Printf("索引 %d 的水果是 %s\n", index, fruit)
}
}
這個迴圈會自動遍歷 fruits
切片,在每次迭代中給我們索引和值。
輸出:
索引 0 的水果是 蘋果
索引 1 的水果是 香蕉
索引 2 的水果是 櫻桃
迴圈控制語句
現在我們已經掌握了基礎知識,讓我們為我們的迴圈添加一些調味料——控制語句。這些就像編程世界的 DJ 一樣——它們控制著我們迴圈派對的流程!
Break 語句
break
語句就像按下緊急停止按鈕。它會立即終止迴圈。
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
fmt.Println("我們到達了 5!該結束了!")
break
}
fmt.Println("當前數字:", i)
}
}
這個迴圈會在 i
到達 5 時停止。
輸出:
當前數字: 0
當前數字: 1
當前數字: 2
當前數字: 3
當前數字: 4
我們到達了 5!該結束了!
Continue 語句
continue
語句就像跳過你不喜歡的歌曲。它會跳到迴圈的下一個迭代。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
if i == 2 {
fmt.Println("跳過 2!")
continue
}
fmt.Println("當前數字:", i)
}
}
這個迴圈會在 i
為 2 時跳過打印。
輸出:
當前數字: 0
當前數字: 1
跳過 2!
當前數字: 3
當前數字: 4
無窮迴圈
最後但同樣重要的是,讓我們來谈谈臭名昭著的無窮迴圈。這就像那首永遠結束不了的歌——它會一直播放,除非你告訴它停止。
package main
import (
"fmt"
"time"
)
func main() {
count := 0
for {
fmt.Println("這是迭代:", count)
count++
time.Sleep(time.Second)
if count == 5 {
fmt.Println("好吧,夠了!")
break
}
}
}
這個迴圈會永遠運行,除非我們跳出它。在這個例子中,我們在 5 次迭代後跳出。
輸出:
這是迭代: 0
這是迭代: 1
這是迭代: 2
這是迭代: 3
這是迭代: 4
好吧,夠了!
迴圈方法表
這裡是一個我們已經介紹過的迴圈方法的便捷表格:
方法 | 描述 | 示例 |
---|---|---|
For 迴圈 | 標準的迴圈,有初始化、條件和後置語句 | for i := 0; i < 5; i++ { ... } |
While-style For 迴圈 | 當條件為真時運行的迴圈 | for count < 3 { ... } |
基於範圍的 For 迴圈 | 遍歷數組、切片、映射等的迴圈 | for index, value := range collection { ... } |
無窮迴圈 | 沒有終止條件的迴圈 | for { ... } |
那就這樣吧,各位!你們已經踏出了進入 Go 編程迴圈世界的第一步。記住,熟練是練習出來的,所以不要害怕嘗試這些概念。快樂編程,願你的迴圈總是在你想要時終止!
Credits: Image by storyset