GO基礎之流程控制語句

1、if分支語句

if 布爾表達式 1 { /* 在布爾表達式 1 爲 true 時執行 */ }
if a := 2; a%2 == 0 {
   fmt.Println("偶數")
}
 if 布爾表達式 1 { /* 在布爾表達式 1 爲 true 時執行 */ }else{
  /* todo else */
}
    if a := 2; a%2 == 0 {
        fmt.Println("偶數")
    } else {
        fmt.Println("奇數")
    }
if 布爾表達式 1 { /* 在布爾表達式 1 爲 true 時執行 */ }else if 布爾表達式 2{

  /* 在布爾表達式 1 爲 true 時執行 */
}else{  /* todo else */  }
func main() {
    var b = 70
    if b >= 90 {
        fmt.Println("優秀")
    } else if b >= 80 {
        fmt.Println("良好")
    } else {
        fmt.Println("及格")
    }
}

 2、for循環語句

func main() {
    //=======格式1===========
    for i := 0; i < 10; i++ {
        fmt.Println("i=", i)
    }
    //=======格式2===========
    a := 2
    for ; a < 5; a++ {
        fmt.Println("a=", a)
    }
    //=======格式3(死循環)====
    b := 10
    for {
        if b == 5 {
            break
        }
        b--
        fmt.Println("b=", b)
    }

}

break 語句用於在完成正常執行以前,忽然終止 for 循環。java

func main() {
    //=======格式1===========
    for i := 0; i < 10; i++ {
        if i >= 5 {
            break
        }
        fmt.Println("i=", i)
    }
}
輸出:i= 0;i= 1;i= 2;i= 3;i= 4

continue 語句用來跳出 for 循環中當前循環。在 continue 語句後的全部的 for 循環語句都不會在本次循環中執行。循環體會在一下次循環中繼續執行less

func main() {
    for i := 0; i < 5; i++ {
        if i == 3 {
            continue
        }
        fmt.Println("i=", i)
    }
}
輸出:i= 0;i= 1;i= 2;i= 4


goto 語句相似   終止當前循環,進入指定的位置(Loop)繼續運行continue
func main() {
    num := 0
Loop:
    for num < 5 {
        num++
        if num%4 == 0 {
            goto Loop
        }
        fmt.Println("i=", num)
    }
}

3、swich分支語句

 go語言中的switch語句默認每一個case 都有break,這與java語言略有不一樣oop

func main() {
    //=========== 格式一 ===========
    switch finger := 3; finger {
    case 1:
        fmt.Println("1")
    case 2:
        fmt.Println("2")
    case 3:
        fmt.Println("3")
    default:
        fmt.Println("0")
    }
    //===========case後能夠多個條件===========
    letter := "i"
    switch letter {
    case "a", "e", "i", "o", "u": // 一個選項多個表達式
        fmt.Println("hello")
    default:
        fmt.Println("word")
    }
    //在 switch 語句中,表達式是可選的,能夠被省略。若是省略表達式,則表示這個 switch 語句等同於 switch true
    num := 75
    switch { // 表達式被省略了
    case num >= 0 && num <= 50:
        fmt.Println("num is greater than 0 and less than 50")
    case num >= 51 && num <= 100:
        fmt.Println("num is greater than 51 and less than 100")
    case num >= 101:
        fmt.Println("num is greater than 100")
    }
}

fallthrough語句:在 Go 中,每執行完一個 case 後,會從 switch 語句中跳出來,再也不作後續 case 的判斷和執行。使用 fallthrough 語句能夠在已經執行完成的 case 以後,把控制權轉移到下一個 case 的執行代碼中。相似於java 中case以後不寫breakspa

 

func main() {
    //=========== 格式一 ===========
    switch finger := 3; finger {
    case 1:
        fmt.Println("1")
    case 2:
        fmt.Println("2")
    case 3:
        fmt.Println("3")
        fallthrough
    default:
        fmt.Println("0")
    }
}
相關文章
相關標籤/搜索