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("及格") } }
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) } }
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") } }