golang跳轉語句goto,break,continue的使用及區別

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可以配合標籤使用。
發佈了44 篇原創文章 · 獲贊 17 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章