如何在 Go 中编写 Switch 语句
目录
-
在 Go 中导入包 -
理解 Go 中包的可见性 -
如何在 Go 中编写条件语句 -
如何在 Go 中编写 Switch 语句 -
如何在 Go 中构造 for 循环 -
在循环中使用 Break 和 Continue -
如何在 Go 中定义并调用函数 -
如何在 Go 中使用可变参数函数 -
了解 Go 中的 defer -
了解 Go 中的 init -
用构建标签定制 Go 二进制文件 -
了解 Go 中的指针 -
在 Go 中定义结构体 -
在 Go 中定义方法 -
如何构建和安装 Go 程序 -
如何在 Go 中使用结构体标签 -
如何在 Go 使用 interface -
在不同的操作系统和架构编译 Go 应用 -
用 ldflags 设置 Go 应用程序的版本信息 -
在 Go 里面如何使用 Flag 包
介绍
[条件语句]({
{< relref "/docs/23-How_To_Write_Conditional_Statements_in_Go.md" >}})使程序员有能力指导他们的程序在某个条件为真时采取某些行动,在条件为假时采取另一种行动。经常,我们想把一些变量与多个可能的值进行比较,在每种情况下采取不同的行动。仅仅使用if
语句就可以做到这一点。然而,编写软件不仅是为了让事情顺利进行,也是为了向未来的自己和其他开发者传达你的意图。switch
是一个替代性的条件语句,对于传达你的 Go 程序在遇到不同选项时采取的行动很有用。
我们可以用 switch 语句编写的所有内容也可以用if
语句编写。在本教程中,我们将看几个例子,看看 switch 语句能做什么,它所取代的if
语句,以及它最合适的应用场合。
Switch 语句的结构
Switch 通常用于描述当一个变量被分配到特定值时程序所采取的行动。下面的例子演示了我们如何使用 if
语句来完成这个任务。
package main
import "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")
}
}
这将输出如下信息: