Go | 控制結束與跳過的瞬間
💬 簡介
break
和 continue
是兩個重要的流程控制語句。它們能夠幫助我們在迴圈中根據特定條件進行跳過或提前結束,從而提升程式的效率和可讀性。
本文將深入探討 break
和 continue
的使用方式,並提供範例來說明它們在實際開發中的應用。
圖片來源:Gophers
📚 break
和 continue
的基本概念
1️⃣ break
語句
break
用來提前結束當前的迴圈,無論條件是否成立。在處理需要提前退出的情況時,break
可以有效地終止循環,從而避免不必要的運算。
- 基本範例:使用
break
提前結束迴圈輸出的結果如下:1
2
3
4
5
6
7
8
9
10
11
12
13package main
import "fmt"
func main() {
for i := 1; i <= 10; i++ {
if i == 6 {
fmt.Println("數字達到 6,跳出迴圈")
break
}
fmt.Println(i)
}
}1
2
3
4
5
61
2
3
4
5
數字達到 6,跳出迴圈📝 在這個範例中,當
i
等於 6 時,break
會終止迴圈,導致後續的數字不再被印出。
2️⃣ continue
語句
continue
用來跳過當前循環中的剩餘程式碼,直接進入下一次循環。在某些情況下,可能希望跳過特定條件下的運算,而不是終止整個迴圈。
- 基本範例:使用
continue
跳過某些步驟輸出的結果如下:1
2
3
4
5
6
7
8
9
10
11
12package main
import "fmt"
func main() {
for i := 1; i <= 10; i++ {
if i%2 == 0 {
continue
}
fmt.Println(i)
}
}1
2
3
4
51
3
5
7
9📝 在這個範例中,當
i
是偶數時,continue
會跳過該次循環的剩餘部分,導致只有奇數被印出。
🛠️ break
和 continue
在實際應用中的使用
1️⃣ 使用 break
來終止無窮迴圈
有時候,我們會在無窮迴圈中根據某些條件來終止循環,這時 break
就顯得尤為重要。
- 範例:處理無窮迴圈輸出的結果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14package main
import "fmt"
func main() {
i := 1
for {
fmt.Println(i)
i++
if i > 5 {
break
}
}
}1
2
3
4
51
2
3
4
5📝 在這個範例中,無條件的
for
迴圈會一直執行,直到i
大於 5 時,使用break
終止迴圈。
2️⃣ 使用 continue
跳過不需要的計算
當我們希望跳過某些不需要的計算或處理時,continue
是非常有用的。這樣能夠避免不必要的操作,提高程式執行效率。
- 範例:跳過特定條件下的處理輸出的結果:
1
2
3
4
5
6
7
8
9
10
11
12
13package main
import "fmt"
func main() {
for i := 1; i <= 10; i++ {
if i%3 == 0 {
fmt.Println(i, "是 3 的倍數,跳過")
continue
}
fmt.Println(i)
}
}1
2
3
4
5
6
7
8
9
101
2
3 是 3 的倍數,跳過
4
5
6 是 3 的倍數,跳過
7
8
9 是 3 的倍數,跳過
10📝 在這個範例中,
continue
會跳過所有是 3 的倍數的數字,讓程式繼續處理下一個數字。
🚀 進階應用:結合break
和 continue
提高程式效率
在複雜的程式邏輯中,我們經常會遇到需要根據不同條件來終止或跳過某些步驟的情況。這時候,break
和 continue
可以幫助我們更靈活地控制迴圈,從而避免不必要的運算,提升程式效率。
- 範例:優化搜尋流程輸出的結果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22package main
import "fmt"
func main() {
numbers := []int{1, 3, 5, 7, 9, 11, 13}
target := 7
for _, num := range numbers {
if num == target {
fmt.Println("找到目標數字:", num)
break // 找到後直接結束迴圈
}
}
// 如果需要跳過某些不符合條件的數字
for _, num := range numbers {
if num%2 == 0 {
continue // 跳過偶數
}
fmt.Println("處理奇數:", num)
}
}1
2
3
4
5
6
7
8找到目標數字: 7
處理奇數: 1
處理奇數: 3
處理奇數: 5
處理奇數: 7
處理奇數: 9
處理奇數: 11
處理奇數: 13📝 在這個範例中,
break
用於在找到目標數字後立即終止搜尋,而continue
用於跳過偶數數字,從而提高處理奇數的效率。
🎯總結
break
和 continue
是在語言中非常重要的控制流程工具。它們使得我們能夠在循環中根據條件提前結束或跳過某些步驟,從而提高程式的效率和可讀性。掌握它們的使用將有助於你在實際開發中寫出更簡潔、更高效的程式碼。
最後建議回顧一下 Go | 菜鳥教學 目錄,了解其章節內容。
註:以上參考了
Go