程式的流程控制結構一共有三種:順序結構,選擇結構,迴圈結構。
switch是乙個條件語句,它計算表示式並將其與可能匹配的列表進行比較,並根據匹配執行**塊。它可以被認為是一種慣用的方式來寫多個if else子句。
switch 語句用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。 switch 語句執行的過程從上至下,直到找到匹配項,匹配項後面也不需要再加break。
而如果switch沒有表示式,它會匹配true
go裡面switch預設相當於每個case最後帶有break,匹配成功後不會自動向下執行其他case,而是跳出整個switch, 但是可以使用fallthrough強制執行後面的case**。
變數 var1 可以是任何型別,而 val1 和 val2 則可以是同型別的任意值。型別不被侷限於常量或整數,但必須是相同的型別;或者最終結果為相同型別的表示式。 您可以同時測試多個可能符合條件的值,使用逗號分割它們,例如:case val1, val2, val3。
switch var1
示例**:
package main
import "fmt"
func main()
switch
fmt.printf("你的等級是 %s\n", grade );
}
如需貫通後續的case,就新增fallthrough
package main
import (
"fmt")
type data [2]int
func main() }
執行結果:
15
35
case中的表示式是可選的,可以省略。如果該表示式被省略,則被認為是switch true,並且每個case表示式都被計算為true,並執行相應的**塊。
示例**:
package main
import (
"fmt")
func main()
}
switch的注意事項case後的常量值不能重複
case後可以有多個常量值
fallthrough應該是某個case的最後一行。如果它出現在中間的某個地方,編譯器就會丟擲錯誤。
switch 語句還可以被用於 type-switch 來判斷某個 inte***ce 變數中實際儲存的變數型別。
switch x.(type)
package main
import "fmt"
func main()
switch i := x.(type)
}
執行結果:
x 的型別 :
Golang語言基礎教程 if分支語句
程式的流程控制結構一共有三種 順序結構,選擇結構,迴圈結構。順序結構 從上向下,逐行執行。選擇結構 條件滿足,某些 才會執行。0 1次 分支語句 if,switch,select 迴圈結構 條件滿足,某些 會被反覆的執行多次。0 n次 迴圈語句 for 語法格式 if 布林表示式 if 布林表示式 ...
Golang語言基礎教程 函式的引數
形式引數 定義函式時,用於接收外部傳入的資料,叫做形式引數,簡稱形參。實際引數 呼叫函式時,傳給形參的實際的資料,叫做實際引數,簡稱實參。函式呼叫 a 函式名稱必須匹配 b 實參與形參必須一一對應 順序,個數,型別 go函式支援變參。接受變參的函式是有著不定數量的引數的。為了做到這點,首先需要定義函...
golang基礎教程(十四)異常處理
golang基礎教程 編寫的程式難免有異常,異常分為 編譯時異常 在編譯時丟擲的異常,編譯不通過,語法使用錯誤,符號填寫錯誤等等。執行時異常 在程式執行時丟擲的異常,這個才是我們將要說的,程式執行時,有很多狀況發生,例如 讓使用者輸入乙個數字,可使用者偏偏輸入乙個字串,導致的異常,陣列的下標越界,空...