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
