Go switch 语句
switch 语句
使用 switch
语句来选择多个要执行的代码块之一。
这 switch
Go 中的语句与 C、C++、Java、JavaScript 和 PHP 中的语句类似。不同之处在于它只运行匹配的案例,因此不需要break
陈述。
单例 switch 语法
句法
转变 表达 {
案件 X:
// 代码块
案件 是:
// 代码块
案件 是:
...
默认:
// 代码块
}
工作原理如下:
- 表达式被求值一次
- 的价值
switch
表达式与每个值进行比较case
- 如果匹配,则执行相关代码块
- 这
default
关键字是可选的。它指定在没有case
匹配
单例 switch 示例
下面的例子使用星期几数字来计算星期几的名称:
例子
软件包 main
导入(“fmt”)
函数main(){
天 := 4
切换日 {
情况1:
fmt.Println("星期一")
情况 2:
fmt.Println("星期二")
案例 3:
fmt.Println("星期三")
案例4:
fmt.Println("星期四")
案例5:
fmt.Println("星期五")
案例六:
fmt.Println("星期六")
案例7:
fmt.Println("星期日")
}
}
结果:
Thursday
default 关键字
这 default
关键字指定在没有大小写匹配时运行的一些代码:
例子
软件包 main
导入(“fmt”)
函数main(){
天 := 8
切换日 {
情况1:
fmt.Println("星期一")
情况 2:
fmt.Println("星期二")
案例 3:
fmt.Println("星期三")
案例4:
fmt.Println("星期四")
案例5:
fmt.Println("星期五")
案例六:
fmt.Println("星期六")
案例7:
fmt.Println("星期日")
默认:
fmt.Println("不是工作日")
}
}
结果:
Not a weekday
一切 case
值应该具有与switch
表达式。否则,编译器将引发错误:
例子
软件包 main
导入(“fmt”)
函数main(){
a := 3
切换 {
情况1:
fmt.Println("a 是 1")
案例“b”:
fmt.Println("a 是 b")
}
}
结果:
./prog.go:11:2: cannot use "b" (type untyped string) as type int