1. 程式人生 > 其它 >Go通關03:控制結構,if、for、switch邏輯語句

Go通關03:控制結構,if、for、switch邏輯語句

if 條件語句

func main() {
    i:=6
    if i >10 {
        fmt.Println("i>10")
    } else if i>5 && i<=10 {
        fmt.Println("5<i<=10")
    } else {
        fmt.Println("i<=5")
    }
}

注意:

  1. if 後的表達無 ‘( )’
  2. 每個條件分支中的 ‘{ }’ 是必須的。哪怕只有一行程式碼。
    3.if/else後的 ‘{’ 不能獨佔一行。否則編譯不通過

switch 選擇語句

if 條件語句比較適合分支比較少的情況。如果有很多分支,switch會更方便。

switch i:=6;{
case i > 10:
  fmt.Println("i>10")
case i > 6 && i <= 10:
  fmt.Println("5<i<10")
default:
  fmt.Println("i<=5")
}

注意: Go 語言為防止忘記寫 break,case 後自帶 break,這和其他語言不一樣。

如果確實需要執行下一個 case ,可以使用 fallthrough 關鍵字

switch j:=1;j{
  case 1:
    fallthrough
  case 2:
    fmt.Println("1")
  default:
    fmt.Println("無匹配")
}

以上結果會輸出 1。

當switch之後有表示式時,case後的值就要和這個表示式的結果型別相同,比如這裡 j 是 int 型別,所以 case 後就得使用 int 型別。

for 迴圈語句

for 迴圈由三部分組成,其中需要使用兩個 ; 分割:

sum := 0
for i := 1; i <= 100; i++{
  sum += i
}
fmt.Println("sum:",sum)

第一部分是簡單語句
第二部分是 for 迴圈的條件
第三部分是更新語句
這三部分組成都不是必須的,可以被省略。

Go 語言中沒有 while 迴圈,可以通過for達到while的效果:

sum := 0
i := 1
for i <= 100 {
  sum += 1
  i++
}

Go 中,同樣支援continue,break 控制for迴圈。

  1. continue 跳出本次迴圈,進入下次迴圈。
  2. break 強行退出整個迴圈。