go-if、for、switch、goto、break、continue

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。



if語句:

package mainimport "fmt"func main() {    //if後面沒有括弧    if 1 < 2 {        fmt.Println("1<2")    }    var a = 10    //初始設定式-a的作用範圍只在if語句塊    if a := 1; a > 1 {        fmt.Println("a > 1")        fmt.Println(a)    } else {        fmt.Println("! a > 1")        fmt.Println(a)    }    fmt.Println(a)}

輸出如下:

1<2! a > 1110



for語句:

package mainimport "fmt"func main() {    //第1種形式無限迴圈    a := 1    for {        a++        if a > 3 {            break        }        fmt.Println(a)    }    fmt.Println(a)    //第2種形式    for a <= 6 {        a++        fmt.Println(a)    }    //第3種形式    for i := 0; i < 3; i++ {        a++        fmt.Println(a)    }    fmt.Println(a)}
234567891010



case語句:

package mainimport "fmt"func main() {    a := 1    switch a {    case 0:        fmt.Println("a==0")    case 1:        fmt.Println("a==1")    default:        fmt.Println("None")    }    //case運算式    switch {    case a >= 0:        fmt.Println("a>=0")    case a >= 1:        fmt.Println("a>=1")    default:        fmt.Println("None")    }    //case運算式 fallthrough    switch {    case a >= 0:        fmt.Println("a>=0")    case a >= 1:        fmt.Println("a>=1")        fallthrough    case a >= -1:        fmt.Println("a>=-1")    default:        fmt.Println("None")    }    //初始化b只在case中有效範圍    switch b := 1; {    case b >= 0:        fmt.Println("b>=0")        fallthrough    case b >= 1:        fmt.Println("b>=1")        fallthrough    case b >= -1:        fmt.Println("b>=-1")    default:        fmt.Println("None")    }    // undefined: b--如果在case中定義,那麼只在局部有效    //fmt.Println(b)}
a==1a>=0a>=0b>=0b>=1b>=-1



goto、continue、break語句:

package mainimport "fmt"func main() {    //goto直接調到LAbEL2    for {        for i := 0; i < 10; i++ {            if i > 3 {                goto LAbEL2            }        }    }    fmt.Println("PreLAbEL2")LAbEL2:    fmt.Println("LastLAbEL2")    //break跳出和LAbEL1同一層級的迴圈,繼續執行其他的LAbEL1:    for {        for i := 0; i < 10; i++ {            if i > 3 {                break LAbEL1            }        }    }    fmt.Println("OK")    //continueLABEL3:    for i := 0; i < 3; i++ {        for {            continue LABEL3        }    }    fmt.Println("ok")}

輸出如下:

LastLAbEL2OKok

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.