Go switch 語句
switch 語句用於基於不同條件執行不同動作,每一個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。。
switch 語句執行的過程從上至下,直到找到匹配項,匹配項後面也不需要再加break
語法
Go 程式語言中 switch 語句的語法如下:
switch var1 { case val1: ... case val2: ... default: ... }
變數 var1 可以是任何型別,而 val1 和 val2 則可以是同型別的任意值。型別不被侷限於常量或整數,但必須是相同的型別;或者最終結果為相同型別的表示式。
您可以同時測試多個可能符合條件的值,使用逗號分割它們,例如:case val1, val2, val3。
流程圖:
![](https://i.iter01.com/images/8eb3aab0dc94683fd970c020d115c59ac9de23d864324ad52cdd2c7dedb2dce3.jpg)
例項
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_ if else語句 ,,迴圈,,switch,,陣列Go陣列
- go 流程控制之switch 語句介紹Go
- JavaScript switch語句JavaScript
- JavaScript switch 語句JavaScript
- switch語句逆向分析
- 清華尹成帶你實戰GO案例(16)Go Switch語句Go
- Go快速入門 03 | 控制結構:if、for、switch 邏輯語句Go
- JavaScript中的switch語句JavaScript
- [譯] part 10: switch 語句
- Java 判斷語句 - if…else/switchJava
- 第 7 小節 if、switch 語句
- JAVA基礎--Switch case語句Java
- java中的switch case語句Java
- java中switch語句注意--breakJava
- java switch語句是什麼?Java
- 理解Java中的switch分支語句Java
- printf格式控制、switch-case語句
- JavaScript 流程控制語句詳解:if語句、switch語句、while迴圈、for迴圈等JavaScriptWhile
- if 多分支語句和 switch 多分支語句的異同之處
- GO語言————5.3 switch 結構Go
- JavaScript switch與if else語句的區別JavaScript
- Android switch語句報錯Constant expression requiredAndroidExpressUI
- 物聯網學習教程——switch語句
- 開心檔之Java switch case 語句Java
- GO 條件語句Go
- java基礎筆記 -- 6.選擇結構-if語句-switch語句Java筆記
- Go:條件控制語句Go
- Go select語句詳解Go
- js 學習之路7:switch/case語句的使用JS
- 笨辦法學C 練習13:Switch語句
- 圖解Go select語句原理圖解Go
- Go 條件語句 - Go 學習記錄Go
- C#快速入門教程(13)—— switch語句結構C#
- golang中一種不常見的switch語句寫法Golang
- Go 基礎教程--5 控制語句Go
- 關於C語言Switch語句,先學這些技巧夠不夠?C語言
- eslint 效驗 switch case語句縮排警告提示處理EsLint
- [譯] 為什麼我更喜歡物件而不是switch語句物件
- Python學習(13)--Lambda表示式和switch語句的實現Python