Idź język instrukcji switch
Idź język instrukcji warunkowych
Instrukcja switch służy do wykonywania różnych działań opartych na różnych warunkach, każdy przypadek jest inny oddział, z góry i na dół indywidualnie testowane aż meczu. ,
Instrukcja switch realizuje proces od góry do dołu, aż zostanie znaleziony, to ostatnie nie musi pasować plusa przerwę
gramatyka
Składnia Go instrukcja switch język programowania jest następująca:
switch var1 { case val1: ... case val2: ... default: ... }
Zmienna zm1 może być dowolnego typu i wart1 i wart2 może mieć dowolną wartość z tego samego typu. Typ nie jest ograniczony do stałej lub liczba całkowita, lecz muszą być tego samego typu lub wynik jest ten sam typ ekspresji.
Można jednocześnie testować wiele wartości mogłyby się kwalifikować, podzielić je przecinkami, na przykład: sprawa wart1, wart2, val3.
Schemat blokowy:
Przykłady
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 ); }
Powyższy kod jest wykonywany w wyniku:
优秀! 你的等级是 A
Typ przełącznika
Instrukcja switch może być również używany do zmiennej typu przełącznika, aby określić typ zmiennej interfejs właściwie przechowywany.
Typ przełącznika składnia jest następująca:
switch x.(type){ case type: statement(s); case type: statement(s); /* 你可以定义任意个数的case */ default: /* 可选 */ statement(s); }
Przykłady
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("未知型") } }
Powyższy kod jest wykonywany w wyniku:
x 的类型 :<nil>