GO語言————5.5 Break 與 continue

FLy_鵬程萬里發表於2018-06-29

5.5 Break 與 continue

您可以使用 break 語句重寫 for2.go 的程式碼:

示例 5.10 for3.go

for {
	i = i - 1
	fmt.Printf("The variable i is now: %d\n", i)
	if i < 0 {
		break
	}
}

因此每次迭代都會對條件進行檢查(i < 0),以此判斷是否需要停止迴圈。如果退出條件滿足,則使用 break 語句退出迴圈。

一個 break 的作用範圍為該語句出現後的最內部的結構,它可以被用於任何形式的 for 迴圈(計數器、條件判斷等)。但在 switch 或 select 語句中(詳見第 13 章),break 語句的作用結果是跳過整個程式碼塊,執行後續的程式碼。

下面的示例中包含了巢狀的迴圈體(for4.go),break 只會退出最內層的迴圈:

示例 5.11 for4.go

package main

func main() {
	for i:=0; i<3; i++ {
		for j:=0; j<10; j++ {
			if j>5 {
			    break   
			}
			print(j)
		}
		print("  ")
	}
}

輸出:

012345 012345 012345

關鍵字 continue 忽略剩餘的迴圈體而直接進入下一次迴圈的過程,但不是無條件執行下一次迴圈,執行之前依舊需要滿足迴圈的判斷條件。

示例 5.12 for5.go

package main

func main() {
	for i := 0; i < 10; i++ {
		if i == 5 {
			continue
		}
		print(i)
		print(" ")
	}
}

輸出:

0 1 2 3 4 6 7 8 9

顯然,5 被跳過了。

另外,關鍵字 continue 只能被用於 for 迴圈中。

相關文章