1. 程式人生 > >第八課 go的條件語句

第八課 go的條件語句

IV AI IT aaa bsp stat sta 數量 package

1 if ... else

package main

import "fmt"

func main() {
    flag:= 10

    if flag > 20 {
        fmt.Println("flag > 20")

    } else {
        fmt.Println("flag < 20")
    }
}

2 switch語句

package main

import "fmt"

func main() {
    var mark = "hello"

    switch mark {
    case "hello"
: fmt.Println("hello");case "others" : fmt.Println("others") }

switch {
case "hello" == mark:
fmt.Println("is hello" )
case "AAAA" != mark:
fmt.Println("not AAAA")
}
}

3 Select語句

select隨機執行一個可運行的case。如果沒有case可運行,它將阻塞,直到有case可運行。一個默認的子句應該總是可運行的

select {
    case communication clause  :
       statement(s);      
    
case communication clause : statement(s); /* 你可以定義任意數量的 case */ default : /* 可選 */ statement(s); }

 如果有多個case都可以運行,Select會隨機公平地選出一個執行。其他不會執行。否則:

  • 如果有default子句,則執行該語句。
  • 如果沒有default字句,select將阻塞,直到某個通信可以運行;Go不會重新對channel或值進行求值。

第八課 go的條件語句