GO語言學習——Go語言基礎之流程控制二
阿新 • • 發佈:2022-04-22
使用switch語句方便對大量的值進行條件判斷
package main import "fmt" // 流程控制之跳出for迴圈 func main(){ // 當i=5時就跳出for迴圈 for i:= 0; i < 10; i++ { if i == 5 { break // 跳出for迴圈 } fmt.Println(i) } fmt.Println("over") // 當i=5時,跳過此次for迴圈(不執行for迴圈內部的列印語句),繼續下一次迴圈 for i:= 0; i < 10; i++ { if i == 5 { continue // 跳過此次for迴圈 繼續下一次迴圈 } fmt.Println(i) } fmt.Println("over") }
goto(跳轉到指定標籤)
break(跳出迴圈)
continue(繼續下次迴圈)
儘量少用goto語句
package main import "fmt" // switch // 簡化大量的判斷(一個變數和具體的值作比較) func main(){ // var n = 5 // if n == 1 { // fmt.Println("大拇指") // } else if n == 2 { // fmt.Println("食指") // } else if n == 3 { // fmt.Println("中指") // } else if n == 4 { // fmt.Println("無名指") // } else if n == 5 { // fmt.Println("小拇指") // } else { // fmt.Println("無效的數字") // } // switch 簡化上面的程式碼 // switch n { switch n:= 3; n { case 1: fmt.Println("大拇指") case 2: fmt.Println("食指") case 3: fmt.Println("中指") case 4: fmt.Println("無名指") case 5: fmt.Println("小拇指") default: fmt.Println("無效的數字") } switch n := 7; n { case 1, 3, 5, 7, 9: fmt.Println("奇數") case 2, 4, 6, 8: fmt.Println("偶數") default: fmt.Println(n) } // 跳出多層for迴圈 var flag = false for i := 0; i < 10; i++ { for j := 'A'; j < 'Z'; j++ { if j == 'C' { flag = true break // 跳出內層的for迴圈 } fmt.Printf("%v-%c\n", i, j) } if flag { break // 跳出for迴圈(外層的for迴圈) } } // goto+label實現跳出多層for迴圈 for i := 0; i < 10; i++ { for j := 'A'; j < 'Z'; j++ { if j == 'C' { goto xx // 跳到我指定的那個標籤 } fmt.Printf("%v-%c\n", i, j) } } xx: // label標籤 fmt.Println("over") }