第八課 go的條件語句
阿新 • • 發佈:2018-06-17
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的條件語句