Go語言迴圈控制之break/continue/goto/return
阿新 • • 發佈:2021-11-13
一、break
break語句用於終止某個語句塊的執行,用於終端當前for迴圈或跳出switch語句。
package main import "fmt" func main() { // 列印小於等於5的數 for i := 0; i <= 10; i++ { if i > 5 { break } else { fmt.Println("i=",i) } } }
break巢狀語句中可以使用標籤來指明終止的是那一層的語句塊。
package main import"fmt" func main() { label1: for i := 0; i < 10; i++ { if i > 5 { break label1 } fmt.Println("i=", i) } } /* 執行結果 i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 */
二、continue
continue語句用於結束本次迴圈,繼續執行下一次迴圈;如果出現再多層巢狀迴圈語句體中,可以通過標籤的方式知名要跳過的是哪一層的迴圈。這與break標籤的使用是樣的。
packagemain import "fmt" func main() { for i := 0; i < 10; i++ { if i > 5 && i < 9 { continue } fmt.Println("i=", i) } } /* 輸出: i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 i= 9 */
當然也可以跳過指定的標籤,用法與break一樣的。
三、goto
Go語言中的goto語句可以無條件的轉移到程式中指定的行;通常與條件語句配合使用,可以用於實現條件轉移、跳出迴圈體等功能;不過一般不主張使用goto語句,以免造成程式流程混亂的局面。
基本使用語法:
goto label ... ... label: statement
例項:
package main import "fmt" func main() { for i := 0; i < 10; i++ { if i > 5 { goto label1 } fmt.Println("i=", i) } label1: fmt.Println("goto1") fmt.Println("goto2") } /* 輸出: i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 goto1 goto2 */
四、return
return使用再函式或者方法中,表示跳出所在的方法或者函式。
- return 如果在普通函式中,表示終止該函式後面的程式碼執行
- return 如果在main函式中,表示終止main函式,即整個應用程式
package main import "fmt" func main() { for i := 0; i < 10; i++ { if i > 5 { return } fmt.Println("i=", i) } fmt.Println("retunDemo...") } /* 輸出: i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 */作者:iveBoy 出處:http://www.cnblogs.com/shenjianping/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連線,否則保留追究法律責任的權利。