Golang的流程控制

流程控制

  • 條件語句

例:函數

var b bool = true
if b{
    fmt.Print("b是True")
}else{
    fmt.Print("b是false")
}

條件語句注意事項:code

  1. 條件語句不須要使用括號將條件包含起來();
  2. 不管語句體內有幾條語句,花括號{}都是必須存在的;
  3. 左花括號{必須與if或者else處於同一行;
  4. 在if以後,條件語句以前,能夠添加變量初始化語句,使用;間隔;
  5. 在有返回值的函數中,不容許將「最終的」return語句包含在if...else...結構中,
    不然會編譯失敗:

例如:it

func example(x int) int {
if x == 0 {
    return 5
    } else {
    return x
    }
}
  • 選擇語句:
i := 2
    switch i{
    case 0:
        fmt.Print("i == 0")
    case 1:
        fmt.Print("i == h1")
    case 2:
        fallthrough
    case 3,4,5:
        fmt.Print("3,4,5")
    default:
        fmt.Print("default")
    }

switch也能夠寫成這樣:for循環

switch {
    case 0 <= Num && Num <= 3:
        fmt.Printf("0-3")
    case 4 <= Num && Num <= 6:
        fmt.Printf("4-6")
    case 7 <= Num && Num <= 9:
        fmt.Printf("7-9")
}

注意事項:編譯

  1. 左花括號{必須與switch處於同一行;
  2. 條件表達式不限制爲常量或者整數
  3. 單個case中,能夠出現多個結果選項;
  4. 與C語言等規則相反,Go語言不須要用break來明確退出一個case;
  5. 只有在case中明確添加fallthrough關鍵字,纔會繼續執行緊跟的下一個case;
  6. 能夠不設定switch以後的條件表達式,在此種狀況下,整個switch結構與多個
    if...else...的邏輯做用等同
  • 循環語句

Golang循環只支持for關鍵字,不支持while和do while變量

sum := 0
for i := 0;i<10;i++{
    sum += 1
}

go語言中的無限循環循環

sum := 0
for{
    sum ++
    fmt.printin(sum)
}

go語言的for循環一樣支持continue和break來循環控制語言

for i := 0;i<5;i++{
        for j := 0 ;j < 10;j++{
            if j == 5{
                continue //結束當前循環
            }
            fmt.Println(j)
        }
        if !(i == 3 || i >3){
            fmt.Println("取反")
        }else{
            break
            // 結束當前循環
        }

    }
  • 跳轉語句
func myfunc() {
    i := 0
    HERE:
    fmt.Println(i)
    i++
    if i < 10 {
        goto HERE
    }
}
相關文章
相關標籤/搜索