golang跳轉語句goto,break,continue的使用及區別
阿新 • • 發佈:2019-02-18
goto
goto語句可以無條件地轉移到過程中指定的行。 通常與條件語句配合使用。可用來實現條件轉移, 構成迴圈,跳出迴圈體等功能。 在結構化程式設計中一般不主張使用goto語句, 以免造成程式流程的混亂 goto對應(標籤)既可以定義在for迴圈前面,也可以定義在for迴圈後面,當跳轉到標籤地方時,繼續執行標籤下面的程式碼。 func main() { // 放在for前面,此例會一直迴圈下去 Loop: fmt.Println("test") for a:=0;a<5;a++{ fmt.Println(a) if a>3{ goto Loop } } } func main() { for a:=0;a<5;a++{ fmt.Println(a) if a>3{ goto Loop } } Loop: //放在for後邊 fmt.Println("test") }
break
func main() { Loop: for j:=0;j<3;j++{ fmt.Println(j) for a:=0;a<5;a++{ fmt.Println(a) if a>3{ break Loop } } } } //在沒有使用loop標籤的時候break只是跳出了第一層for迴圈 //使用標籤後跳出到指定的標籤,break只能跳出到之前,如果將Loop標籤放在後邊則會報錯 //break標籤只能用於for迴圈,跳出後不再執行標籤對應的for迴圈
continue
continue和標籤的使用類似於break,這裡不再詳述
總結
goto語句本身就是做跳轉用的,而break和continue是配合for使用的。所以goto的使用不限於for,通常與條件語句配合使用
在for迴圈中break和continue可以配合標籤使用。