golang case多个值
介绍
在编程中,我们经常需要在给定的多个值中进行选择和处理。在Go语言中,我们可以使用case
关键字来处理多个值。
case
语句用于在switch
语句中匹配多个值,并执行相应的代码块。每个case
语句后面可以跟随一个或多个具体的值或表达式。当switch
表达式的值与case
语句列表中的某个值匹配时,对应的代码块将会被执行。
语法
下面是case
语句的基本语法:
switch expression {
case value1:
// code block
case value2:
// code block
case value3, value4:
// code block
default:
// code block
}
expression
:一个表达式,通常是一个变量或一个函数返回的结果,用于被匹配。value1, value2, value3
…:是一个或多个具体的值或表达式,用于与expression
进行匹配。code block
:与每个case
语句关联的代码块。当匹配到对应的case
语句时,将会执行该代码块。
case
语句是按照顺序进行匹配的,一旦匹配成功,将会执行对应的代码块,并且不会继续匹配其他的case
语句。如果没有任何一个case
匹配成功,且存在default
语句,则会执行default
语句块。
示例
下面是一个使用case
语句处理多个值的示例:
package main
import "fmt"
func main() {
fruit := "apple"
switch fruit {
case "apple", "pear":
fmt.Println("It's a fruit.")
case "carrot", "potato":
fmt.Println("It's a vegetable.")
default:
fmt.Println("It's something else.")
}
}
输出:
It's a fruit.
在这个示例中,我们定义了一个名为fruit
的变量,并将其值设置为"apple"
。然后,我们使用switch
语句来判断这个水果是属于哪一类的。
在switch
语句的case
语句中,我们同时匹配了"apple"
和"pear"
这两个值。由于变量fruit
的值是"apple"
,所以这个case
语句匹配成功,对应的代码块将会被执行,输出为"It's a fruit."
。
如果我们将变量fruit
的值改为"potato"
,则会输出"It's a vegetable."
,因为此时的case
语句中匹配的是"carrot"
和"potato"
这两个值。
如果变量fruit
的值不在我们的匹配列表中,则会执行default
语句块,输出"It's something else."
。
使用表达式
除了使用具体的值作为case
语句的匹配条件,我们还可以使用表达式。下面是一个使用表达式匹配奇偶数的示例:
package main
import "fmt"
func main() {
number := 7
switch number % 2 {
case 0:
fmt.Println("It's an even number.")
case 1:
fmt.Println("It's an odd number.")
}
}
输出:
It's an odd number.
在这个示例中,我们定义了一个名为number
的变量,并将其值设置为7
。然后,我们使用switch
语句来判断这个数是奇数还是偶数。
在switch
语句的case
语句中,我们使用了表达式number % 2
来判断变量number
的奇偶性。如果变量number
是偶数,那么number % 2
的结果将为0
,对应的代码块将会执行,输出"It's an even number."
。如果变量number
是奇数,那么number % 2
的结果将为1
,对应的代码块将会执行,输出"It's an odd number."
。
总结
通过使用case
语句来处理多个值,我们可以根据不同的情况执行不同的代码块。在Go语言中,case
语句可以同时匹配多个具体的值或表达式。
使用case
语句时,我们可以根据实际需求进行灵活的匹配操作,并且可以通过设置default
语句来处理没有匹配项的情况。