Go switch 語句
switch 語句用於基於不同條件執行不同動作,每一個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。。
switch 語句執行的過程從上至下,直到找到匹配項,匹配項後面也不需要再加break
語法
Go 程式語言中 switch 語句的語法如下:
switch var1 { case val1: ... case val2: ... default: ... }
變數 var1 可以是任何型別,而 val1 和 val2 則可以是同型別的任意值。型別不被侷限於常量或整數,但必須是相同的型別;或者最終結果為相同型別的表示式。
您可以同時測試多個可能符合條件的值,使用逗號分割它們,例如:case val1, val2, val3。
流程圖:
例項
package main import "fmt" func main() { /* 定義區域性變數 */ var grade string = "B" var marks int = 90 switch marks { case 90: grade = "A" case 80: grade = "B" case 50,60,70 : grade = "C" default: grade = "D" } switch { case grade == "A" : fmt.Printf("優秀!\n" ) case grade == "B", grade == "C" : fmt.Printf("良好\n" ) case grade == "D" : fmt.Printf("及格\n" ) case grade == "F": fmt.Printf("不及格\n" ) default: fmt.Printf("差\n" ); } fmt.Printf("你的等級是 %s\n", grade ); }
以上程式碼執行結果為:
優秀! 你的等級是 A
Type Switch
switch 語句還可以被用於 type-switch 來判斷某個 interface 變數中實際儲存的變數型別。
Type Switch 語法格式如下:
switch x.(type){ case type: statement(s); case type: statement(s); /* 你可以定義任意個數的case */ default: /* 可選 */ statement(s); }
例項
package main import "fmt" func main() { var x interface{} switch i := x.(type) { case nil: fmt.Printf(" x 的型別 :%T",i) case int: fmt.Printf("x 是 int 型") case float64: fmt.Printf("x 是 float64 型") case func(int) float64: fmt.Printf("x 是 func(int) 型") case bool, string: fmt.Printf("x 是 bool 或 string 型" ) default: fmt.Printf("未知型") } }
以上程式碼執行結果為:
x 的型別 :<nil>
原文地址:http://www.runoob.com/?s=switch+go
個人微信公眾號:
作者:jiankunking 出處:http://blog.csdn.net/jiankunking
相關文章
- go 流程控制之switch 語句介紹Go
- Go_ if else語句 ,,迴圈,,switch,,陣列Go陣列
- JavaScript switch 語句JavaScript
- JavaScript switch語句JavaScript
- 清華尹成帶你實戰GO案例(16)Go Switch語句Go
- switch語句的妙用
- switch語句逆向分析
- Go快速入門 03 | 控制結構:if、for、switch 邏輯語句Go
- Go語言 - switch/caseGo
- JavaScript中的switch語句JavaScript
- [譯] part 10: switch 語句
- java中的switch case語句Java
- java switch語句是什麼?Java
- java中switch語句注意--breakJava
- Java 判斷語句 - if…else/switchJava
- 第 7 小節 if、switch 語句
- JAVA基礎--Switch case語句Java
- Java學習之分支結構---判斷語句:if語句和switch語句Java
- Matlab的if語句switch語句for迴圈while迴圈語句練習MatlabWhile
- GO語言————5.3 switch 結構Go
- printf格式控制、switch-case語句
- switch case語句程式碼例項
- JavaScript 流程控制語句詳解:if語句、switch語句、while迴圈、for迴圈等JavaScriptWhile
- GO 條件語句Go
- Go select 語句Go
- 物聯網學習教程——switch語句
- JavaScript switch與if else語句的區別JavaScript
- 開心檔之Java switch case 語句Java
- java基礎筆記 -- 6.選擇結構-if語句-switch語句Java筆記
- js switch語句需要特別注意的地方JS
- Go:條件控制語句Go
- Swift學習筆記(二十七)——條件語句和Switch-case語句Swift筆記
- Go之旅-SwitchGo
- 笨辦法學C 練習13:Switch語句
- js 學習之路7:switch/case語句的使用JS
- js使用物件代替if和switch流程控制語句JS物件
- Android switch語句報錯Constant expression requiredAndroidExpressUI
- Go select語句詳解Go