引言
[条件语句]让程序员能够指挥程序在条件为真时采取某种行动,在条件为假时采取另一种行动。通常,我们希望将一些[变量]与多个可能的值进行比较,在每种情况下采取不同的操作。单独使用[if
语句]也可以做到这一点。然而,编写软件不仅是让事情正常运行,而且还要将你的意图传达给未来的自己和其他开发人员。switch
是另一个条件语句,用于在遇到不同选项时通信Go程序所采取的操作。
我们可以用switch语句写的任何东西也可以用if
语句写。在本教程中,我们将看到一些switch语句可以做什么,它可以替换的if
语句,以及它最适合在哪里应用的例子。
Switch语句的结构
Switch通常用于描述程序在变量被赋予特定值时所采取的操作。下面的例子演示了我们如何使用if
语句完成此操作:
package mainimport "fmt"func main() {flavors := []string{"chocolate", "vanilla", "strawberry", "banana"}for _, flav := range flavors {if flav == "strawberry" {fmt.Println(flav, "is my favorite!")continue}if flav == "vanilla" {fmt.Println(flav, "is great!")continue}if flav == "chocolate" {fmt.Println(flav, "is great!")continue}fmt.Println("I've never tried", flav, "before")}
}
Outputchocolate is great!
vanilla is great!
strawberry is my favorite!
I've never tried banana before
在main
中,我们定义了[一片]冰淇淋的口味。然后我们使用[for循环
]来迭代它们。我们使用了3个if
语句来打印出不同的消息,表示用户对不同口味的冰淇淋的偏好。每个if
语句必须使用continue
语句来停止for
循环的执行,这样就不会打印出首选冰淇淋口味的默认消息。
当我们添加新的冰淇淋偏好时,我们必须不断添加if
语句来处理新的case。重复的消息,比如"vanilla"
和"chocolate"
,一定有重复的if
语句。对于我们代码的未来读者(包括我们自己)来说,if