1. 程式人生 > 其它 >Go語言迴圈控制之break/continue/goto/return

Go語言迴圈控制之break/continue/goto/return

一、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標籤的使用是樣的。

package
main 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/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連線,否則保留追究法律責任的權利。