使用 switch 和多值 case 的 Golang 程序
在 Golang 中,我们可以使用 switch 和多值 case 来完成一个分支选择结构体的编写。下面,让我们来详细探讨一下。
switch语句
switch 语句和 C、C++ 中的类似,用于基于不同的条件执行不同的动作。
Golang 中 switch 语句常与 select 和 for 循环一起使用。
switch 语句格式如下:
switch var1 {
case val1:
...
case val2:
...
default:
...
}
示例代码如下:
package main
import "fmt"
func main() {
num := 10
switch num {
case 1:
fmt.Println("Case 1 matched")
case 5:
fmt.Println("Case 2 matched")
case 10:
fmt.Println("Case 3 matched")
default:
fmt.Println("Default case")
}
}
这段代码的输出结果为:
Case 3 matched
多值 case
在 Golang 中,我们可以在 switch case 中使用多个值。我们可以使用逗号分隔多个值列表。在匹配时,只要有任何一个与 switch 变量匹配,就会执行匹配的 case 语句块。
示例代码如下:
package main
import "fmt"
func main() {
num := 10
switch num {
case 1, 5, 10:
fmt.Println("Matched")
default:
fmt.Println("Not matched")
}
}
这段代码的输出结果为:
Matched
switch 中的表达式省略
在 Golang 中,如果省略 switch 中表达式的话,相当于 switch true,这样我们就可以实现一个 if-else-if 算法的逻辑了。
示例代码如下:
package main
import "fmt"
func main() {
num := 10
switch {
case num <= 10:
fmt.Println("Matched")
case num > 10:
fmt.Println("Not matched")
}
}
这段代码的输出结果为:
Matched
总结
在 Golang 中,使用 switch 和多值 case 可以完成简单而强大的分支选择逻辑结构,能够提高开发效率、代码质量。多值 case 可以在一种操作符中包含多个值,来完成条件分支控制,更加简洁清晰。相信看完这篇文章,你已经掌握了 switch 和多值 case 的使用方法和技巧。